[Modul] Homematic Extended (Systemvariablen, Programme, Powermeter, u.v.m.)

Achtung! Das aktuellste Changelog mit Systemvoraussetzungen und Dokumentation ist immer auf GitHub!
Diese Version ist nur mit IPS 5.0 und neuer funktionsfähig!
Die Version 2.44 ist unter dem Zweig IPS4 archiviert.

Dokumentation und Details sind hier zu finden:
Nall-chan/IPSHomematicExtended · GitHub

https://github.com/Nall-chan/IPSHomematicExtended.git

Funktionsumfang

HomeMatic Systemvariablen:
Abfragen von System- und Alarmvariablen inkl. Profilen und Werten von der CCU.
Schreiben von Werten der Systemvariablen zur CCU.
Standard Actionhandler für die Bedienung der System- und Alarmvariablen aus dem IPS-Webfront.
Die Alarmvariablen werden erst ab IPS 4.3 untersützt.
HomeMatic Powermeter:
Abfragen des Summenzählers der Geräte mit Leistungsmessung aus der CCU.
Ab IPS 4.3 werden alle Geräte unterstützt, bei IPS 3.x nur Geräte mit dem Datenpunk ‘ENERGY_COUNTER’.
HomeMatic Programme::
Abfragen der auf der CCU vorhandenen HM-Programme.
Ausführen der HM-Programme auf der CCU.
Standard Actionhandler für die Bedienung der HM-Programme aus dem IPS-Webfront.
HomeMatic RemoteScript Interface:
Native Schnittstelle zur CCU, um HomeMatic-Scripte durch die CCU ausführen zu lassen.
Direkte Rückmeldung der Ausführung durch einen Antwortstring im JSON-Format.
HomeMatic Dis-WM55:
Dynamische Textanzeige auf dem Display-Wandtaster mit Statusdisplay.
Unterstützt mehrseite Anzeigen und das durchblättern per Tastendruck.
Ausführen von benutzerspezifischen Aktionen, auch in Abhängigkeit der angezeigten Seite.
HomeMatic Dis-EP-WM55: (ab IPS 4.3)
Hier handelt es sich um eine Instanz, welche die Verwendung des ePaper Statusdisplays im 55er-Rahmen vereinfachen soll.
Über spezielle PHP-Befehle ist es möglich das Display anzusteuern.
HomeMatic RF-Interface Splitter: (ab IPS 4.3)
Auslesen der Informationen zu jedem Funk-Interface der CCU.
HomeMatic RF-Interface: (ab IPS 4.3)
Bereitstellen der Informationen zu den Funk-Interfaces innerhalb von IPS.
HomeMatic WR-Interface: (ab IPS 4.3)
Bereitstellen der Informationen zu dem Wired-Interface innerhalb von IPS.

Besonderheiten
XML-API-Patch wird nicht benötigt.
Unterstützung von mehreren CCUs.
Einfache Einrichtung und Handhabung.
PHP-Befehle entsprechen dem vorhandenen Standard von IPS.

Voraussetzungen

Funktionsfähige CCU1 und/oder CCU2, welche schon mit einem HomeMatic Socket in IPS eingerichtet ist.

Einschränkungen

  1. Es gibt noch kleinere Probleme seitens IPS, darum mussten Befehle umbenannt werden:

Für die Systemvariablen:

HM_WriteValueBoolean
HM_WriteValueFloat
HM_WriteValueInteger
HM_WriteValueString

wurden ‚erstmal‘ zu:

HM_WriteValueBoolean2
HM_WriteValueFloat2
HM_WriteValueInteger2
HM_WriteValueString2

  1. (Optisches) Problem für die Systemvariablen:

Wird ‚Unfug‘ in den Einstellungen vorgenommen, so wird nicht der korrekte Hinweis eingeblendet.

Changelog:
Version 2.65:
Fix: Keine Verbindung mehr bei CCU1 und CCU2.

Version 2.61:
Fix: memory exhausted error.
Fix: Fehler bei der Verarbeitung von AlarmVariablen bei der CCU3.
Neu: SSL und Authentifizierung wird für CCU3 unterstützt (sofern in IPS verfügbar!).

Version 2.60:
Neu: Modul intern überabreitet.
Neu: Diverse Anpassungen für IPS 5.0 und neuer.
Fix: HmScript Fehler im Log der CCU bei Verwendung der PowerMeter-Instanz.
Fix: Fehlermeldung bei AlarmScriptID in der Instanz Systemvariablen.

Version 2.50:
Fix: PHP 7.3

Version 2.44:
Fix: ~String-Profil entfernt

Version 2.43:
Fix: Für IPS 5.0

Version 2.42:
Fix: RF-Splitter hat beim anlegen von RF-Interface Instanzen der CCU1 Fehler gemeldet.
Fix: Icon ON/OFF vertauscht in der Display-Statusanzeige.

Version 2.40:
Neu: Übersetztungen für IPS 4.3
Neu: Doku überarbeitet
Fix: Systemvariablen vom Typ Float konnten falsch übertragen werden.

Version 2.35:
Fix: Dis-EP-WM55 hat nur Icons von 0-3 angenommen.

Version 2.31:
Fix: Fehlerbehandlung verbessert.

Version 2.30:
Fix: Fehlerbehandlung verbessert.
Fix: Eventuelle XML-Fehler durch die CCU versucht abzufangen.

Version 2.22:
Fix: HomeMatic Remote-Script Instanzen belegten unnötig PHP-Slots.
Fix: Fehlermeldung im HomeMatic Systemvariablen durch eine falsche Fehlermeldung wurde ein eigentlicher Fehler überdeckt.

Version 2.20:
Neu: Dis-EP-WM55 Ermöglicht es per PHP die Anzeige zu beschreiben.
Neu: Doku für HomeMatic WR-Interface ergänzt.

Version 2.10:
Neu: HomeMatic WR-Interface zeigt den Status des Wired-Interfaces der CCU an.
Neu: Alle ‚CONNECTED‘ Statusvariablen der CCU-Interfaces werden immer aktualisiert um Ausfälle besser detektieren zu können.
Fix: Instanzen haben nicht erkannt wenn sich der Parent geändert hat.
Fix: Timer erzeugen keine Fehlermeldungen mehr.

Version 2.07:
Fix: Summenzähler für Powermeter hat bei GAS falsche Werte geliefert.
Fix: Dis-WM55 ohne Funktion.
Fix: Dis-WM55 hat immer das Display-Script überschrieben.
New: Mehr Debug-Ausgaben bei Dis-WM55.

Version 2.06:
Fix: Doku geändert (Final).
Fix: GUID für Empfang vom RF-Interface Splitter.
Fix: Trigger für Powermeter und Systemvariablen waren unter Umständen falsch.
Fix: HM-Systemvariablen vom Typ String wurden falsch dargestellt, wenn Umlaute enthalten waren.

Version 2.05:
Fix: Unter Umständen konnte die Adresse der CCU nicht aus dem HomeMatic-Socket ermitteln werden.
New: Beschreibung in module.json ergänzt.

Version 2.04:
Fix: RFInstance-Splitter hat fehler gemeldet beim Anlegen von Instanzen, wenn keine vorhanden waren.

Version 2.03:
Fix: Doku geändert (Teil1).

Version 2.02:
Fix: Powermeter-Instanz kann jetzt auch mit allen Varianten von HM-ES-TX-WM umgehen.
Fix: Powermeter-Instanz unterstützt jetzt auch HMIP-PSM und ähnliche HMIP-‚Mess-Steckdosen‘

Version 2.01:
Neu: RF-Interface-Splitter zum auslesen der RF-Interfaces aus der CCU.
Neu: RF-Interface zum darstellen der Werte eines RF-Interfaces der CCU.

Michael

Screenshots:

HMExtendedInstanzen.pngPowermeter_WF.pngRFInterface_WF.png

Hi vielen Dank für deine Mühe !

Kannst mir verraten was ich für „Trigger für Refresh“ auswählen soll ?

Welches Geräte ? Sonst Doku im 1.Post gelesen ? Da steht eigentlich alles drin.
Michael

Ich habe das Modul mal unter IP-Symcon 4 beta ausprobiert. Wenn ich dort Homematic-Systemvariablen auslesen will und dort bei Trigger für Refresh eine Variable auswählen will dann erscheint die Meldung:
Warning: Only Active, Inactive an Error codes are allowed in D:\IP-Symcon\scripts_ipsmodule.inc.php on line 291

Hast du auch die in diesem Post erwähnte Version genommen und nicht die hier aus dem Start-Post?
[Modul] Homematic Systemvariablen, Programme und Powermeter - Seite 4

Grüße,
Chris

Haha… cool jetzt also ein Fehler wenn mein Modul eigene Stati setzen will ?!
Ich kann das erstmal rausnehmen.

Aber welches Trigger hast du gewählt ?
Wenn du einen Press_Short der virtuellen RF nimmst, sollte der Fehler nicht auftreten.
Michael

Ja die habe ich genommen und über Modules eingebunden.

Ich habe BidCoS-RF:24 also einen virtuellen Taster mit PRESS_SHORT gewählt. Wenn ich auf der CCU den Virtuellen Taster auslöse aktualisiert sich auch die Variable PRESS_SHORT in IP-Symcon. Was mir noch aufgefallen ist das es anscheinend Probleme gibt Umlaute als Beschreibungstext in Modulen darzustellen. Wenn ich ein Intervall setzten will bekomme ich im Übrigen die gleiche Fehlermeldung.

Ja, das ist leider so.
Eigentlich solltest du eine Warnung bekommen, weil es nicht sinnvoll ist Trigger und Intervall gleichzeitig zu nutzen.
Michael

Ja das ist klar das es kein Sinn macht Trigger und Intervall gleichzeitig zu nutzten. Wollte nur darauf hinweisen das bei mir weder das einen noch das andere funktioniert. Eine Warnung erscheint bei mir im Übrigen nicht wenn ich versuche beides auszuwählen. Ich verwende die IP-Symcon 4 Windows Beta.

Ich hatte dazu schon einen Bug in der Bugliste der PHP-Module eingetragen.
Hoffe ja noch immer das Paresy diesen behebt :slight_smile:
Michael

Hallo Nall Chan.

Ich hänge mich an den Fehler mal mit ran !

2015-11-07 22_02_54-IP-Symcon Management Console [2. IPS Pi2].jpg

Gruß
lueralba

Wie heißt das noch so schön in der Aufgaben Liste?!
‚Wartet auf andere‘ :smiley:
Funktionieren sollte es dennoch, ist ja auch nur eine Warnung :wink:
Michael

Hallo Nall Chan,

Ich bekomme bei den Systemvariablen aber laufend folgende Fehlermeldungen:

<b>Warning</b>:  SimpleXMLElement::__construct(): Entity: line 1: parser error : attributes construct error in <b>/usr/share/symcon/modules/IPSHomematicExtended/Systemvariablen/module.php</b> on line <b>398</b><br />
<br />
<b>Warning</b>:  SimpleXMLElement::__construct(): acht Rollos zu</Value><Variable>Nacht Rollos zu</Variable><LastValue><font face= in <b>/usr/share/symcon/modules/IPSHomematicExtended/Systemvariablen/module.php</b> on line <b>398</b><br />
<br />

Dies deutet auf Zeichen in den Werten der Systemvariablen hin die nicht Verarbeitet werden können.

Ich habe auch schon versuchsweise die Zeile 398 von:

$xmlVar = new SimpleXMLElement(utf8_encode($HMScriptResult), LIBXML_NONET);

auf

$xmlVar = new SimpleXMLElement(stripslashes(utf8_encode($HMScriptResult)), LIBXML_NONET);

verändert, aber leider ohne Erfolg.

Die zweite Meldung kommt scheinbar beim einlesen der Systemvariable MSG_Text die in der CCU wie folgt dargestellt wird:

Vielen Dank für deine Hilfe!

Paul

Ich hatte deinen Post übersehen, weil du leider im völlig falschen Modul für IPS 3 den Fehler gemeldest hattest.

Warum es bei dir einen Fehler bringt, verstehe ich gerade nicht wirklich. Sonderzeichen welche die CCU leider nicht XML-konform ausgibt, sehe ich nicht.

Ich habe aber mal etwas umgebaut und eventuell klappt es jetzt besser.
Update ist bei GitHub verfügbar.
Michael

Hallo Michael,

bekomme seit dem heutigen IPS4 Update folgende Fehlermeldungen:

<b>Warning</b>:  Variable is marked as read-only and cannot be changed in <b>D:\IP-Symcon\modules\IPSHomematicExtended\Systemvariablen\module.php</b> on line <b>476</b><br />

Die Ursache ist der 2. Punkt im Changelog:
IP-Symcon 4.0 Beta (Unbedingt vor der Installation lesen!) - Seite 6

-Fix: SetValue* erlaubt kein Schreiben auf StatusVariablen mehr (wie bereits in IP-Symcon 3.4)

-Chris-

Jungs, ihr seit im falschen Thread (mal wieder).
Hier geht es um das Modul für IPS 3.4 :wink:
Der 4.0 Thread habe ich weiter oben verlinkt.
Michael

Hab die Beiträge mal verschoben. Welche Variable will das Modul denn ändern?

paresy

Wird schwierig das zu erkennen.
Aktuell sehe ich auch nur das es eine bool-var ist.
@jnicke
Hast du mal ein Screenshot vom Objektbaum ?
Hast du von 3.4 auf 4.0 migriert (mit meinem alten Modul) oder erst nach der Installation von 4.0 mein Modul hinzugefügt ?
Michael