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

SDK Version License
Version Check Style Run Tests
Spenden

Symcon-Modul: HomeMaticExtended

Erweitert IPS um die native Unterstützung von:

  • Systemvariablen der CCU
  • Programmen auf der CCU
  • Summenzähler aller Typen von Verbrauchsmessern
  • Display Status-Anzeige (Dis-WM55)
  • ePaper Status-Anzeige (Dis-EP-WM55)
  • HomeMaticScript
  • Status der Funk-Interfaces
  • Status des Wired-Interface

Dokumentation

Inhaltsverzeichnis

1. 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.

HomeMatic Powermeter:

Abfragen des Summenzählers der Geräte mit Leistungsmessung aus der CCU.

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:

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:

Auslesen der Informationen zu jedem Funk-Interface der CCU.

HomeMatic RF-Interface Konfigurator:

Konfigurator zum erstellen der ‚Homematic RF-Interface‘-Instanzen.

HomeMatic RF-Interface:

Bereitstellen der Informationen zu den Funk-Interfaces innerhalb von IPS.

HomeMatic WR-Interface:

Bereitstellen der Informationen zu dem Wired-Interface innerhalb von IPS.

2. Voraussetzungen

Funktionsfähige CCU1, CCU2 oder CCU3, welche schon mit einem HomeMatic Socket in IPS eingerichtet ist.
In der CCU muß die Firewall entsprechend eingerichtet sein, das IPS auf die ‚Remote HomeMatic-Script API‘ der CCU zugreifen kann.

Einstellungen -> Systemsteuerung -> Firewall konfigurieren

Bei ‚Remote HomeMatic-Script API‘ muß entweder ‚Vollzugriff‘ oder ‚Eingeschränkt‘ eingestellt sein. Bei ‚Eingeschränkt‘ ist dann unter ‚IP-Adressen für eingeschränkten Zugriff‘ euer LAN / IPS-PC einzugeben.
(z.B. 192.168.178.0/24 => /24 ist die Subnet-Maske für das Netzwerk. Bei 255.255.255.0 ist das 24 bei 255.255.0.0. ist es 16.
Oder es kann direkt eine einzelne Adresse eingetragen werden. z.B. 192.168.0.2

CCUFirewall.png

3. Software-Installation

IPS 5.1:
Bei privater Nutzung: Über den ‚Module-Store‘ in IPS.
Bei kommerzieller Nutzung (z.B. als Errichter oder Integrator) wenden Sie sich bitte an den Autor.

4. Einrichten der Instanzen in IP-Symcon

Ist direkt in der Dokumentation der jeweiligen Module beschrieben.
Die Module der Geräte sind im Dialog ‚Instanz hinzufügen‘ unter dem Hersteller ‚HomeMatic‘ zu finden.

Instanzen

5. Anhang

1. GUID der Module

Modul Typ GUID
HomeMatic Systemvariablen Device {400F9193-FE79-4086-8D76-958BF9C1B357}
HomeMatic Powermeter Device {AF50C42B-7183-4992-B04A-FAFB07BB1B90}
HomeMatic Programme Device {A5010577-C443-4A85-ABF2-3F2D6CDD2465}
HomeMatic RemoteScript Interface Device {246EDB89-70BC-403B-A1FA-3B3B1B540401}
HomeMatic Dis-WM55 Device {271BCAB1-0658-46D9-A164-985AEB641B48}
HomeMatic Dis-EP-WM55 Device {E64ED916-FA6C-45B2-B8E3-EDC3191BC4C0}
HomeMatic RF-Interface Splitter Splitter {6EE35B5B-9DD9-4B23-89F6-37589134852F}
HomeMatic RF-Interface Konfigurator Configurator {91624C6F-E67E-47DA-ADFE-9A5A1A89AAC3}
HomeMatic RF-Interface Device {36549B96-FA11-4651-8662-F310EEEC5C7D}
HomeMatic WR-Interface Device {01C66202-7E94-49C4-8D8F-6A75CE944E87}

2. Changelog

Version 3.12:

  • Fix: Fehlermeldung bei Senden an Dis-EP-WM55.
  • Fix: Dokumentation für Dis-EP-WM55 korrigiert.

Version 3.11:

  • Fix: IntervalBox durch NumberSpinner ersetzt.
  • Fix: Diverse Schreibfehler.

Version 3.10:

  • Neu: Konfigurator für RF-Interfaces
  • Fix: HMScript Fehler im Log der CCU bei Verwendung der Systemvariablen-Instanz.

Version 3.00:

  • Neu: Release für IPS 5.1 und den Module-Store

Version 2.80:

  • Neu: Referenzen werden in Symcon registriert.
  • Fix: IPS_SetProperty und IPS_Applychanges auf sich selbst entfernt.

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 überarbeitet.
  • 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: Für 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: Übersetzungen 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.
  • Neu: 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.

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.

Version 2.0:

Version 1.5:

Version 1.3:

Version 1.1:

6. Spenden

Die Library ist für die nicht kommerzielle Nutzung kostenlos, Schenkungen als Unterstützung für den Autor werden hier akzeptiert:

7. Lizenz

CC BY-NC-SA 4.0

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