Linux-Projekte für die HomeMatic
(in Python realisiert)
Nützliche HomeMatic Scripte



Beim Entwickeln von HomeMatic Scripten kommt es immer mal wieder vor, daß man 'schnell' mal den DOM-Bereiches der HomeMatic oder einzelne Listen daraus haben müßte. Das führte bisher bei mir immer dazu, daß ich jedesmal ein entsprechendes, neues Script erstellen mußte, obwohl ich das vielleicht schon mal entwickelt hatte (es aber leider nicht abgespeichert hatte oder es einfach nicht mehr gefunden habe).

Das neue Python Programm 'HM_ScriptTest' gab mir nun die Möglichkeit das zu ändern.


Statt der Abfrage einer Script-Textdatei wurde dieses Programm nun so abgewandelt, daß ich einige häufig gebrauchte Scripte in einer Variable (dictionary) hinterlegt habe, die dann über eine Menüauswahl abgerufen werden können.

(Wird das 'dictionary' um weitere, neue Scripte erweiter, passt sich das Auswahlmenü automatisch an.)

Bildquelle: J. Hoppe


Hier in Kürze die Vorstellung der momentan vorhandenen Scripte



Bildquelle: J. Hoppe

Im 'ROOT'-Bereich der Homematic sind, ich sage mal, die Gruppen der in der HomeMatic vorhandenen Bereiche hinterlegt.

Jede dieser Gruppen besteht wieder aus einer eigenen, neuen Liste mit Einträgen.

Um diese Übersicht aufzulisten, habe ich das Script 'Root_1000' entwickelt.
Damit werden die Bereiche, mit Nummer und Namen, aufgelistet, die sich in der HomeMatic hinter den Zahlen 0 bis 1000 verbergen (die Zahl 1000 ist willkürlich gewählt und kann im Script selbst verändert werden).

Aber längst nicht hinter jeder Zahl ist ein Bereich hinterlegt.

Wird im Python -Programm der Punkt '0 Root_1000' ausgewählt, wird dieser 'Übersichts'-Bereich aufgelistet. Die links dargestellte Liste ist nur ein Auszug daraus.

Beispiele von Bereichen:

3 Root devices = Geräte
4 Root channels= Kanäle
5 Root data points = Datenpunkte
28 Root Service Messages= Servicemeldungen (ALLE, auch nicht aktive!)

Bildquelle: J. Hoppe

Wegen der logischen Abfolge wird nun die Reihenfolge des Auswahl-Menüs nicht eingehalten.





In der Homematic ist jede Hardware als 'Device' hinterlegt. Eine Liste aller vorhandenen 'devices' (Geräte) kann mit dem Menüpunkt '2 Root_Devices' aufgerufen werden.

Die links gezeigte Liste ist wieder nur ein Ausschnitt der bei mir vorhandenen Gerätelist.
In der Zeile Count' wird die Anzahl der aktuell vorhandenen Geräte angezeigt.

Bildquelle: J. Hoppe

Jedes dieser Geräte hat wiederum einzelne Bereiche, channels (Kanäle) genannt, die unterschiedliche Bereiche in den Geräten ansprechen.



Diese Kanalliste wird durch den Menüpunkt '1 Root_Channels' aufgerufen. Sie hat normalerweise ein Vielfaches der Länge der bereits vorgestellten Device-Liste.
Die einzelnen Kanalbezeichnungen setzen sich normalerweise aus dem Namen des Gerätes (device) und einem Doppelpunkt, gefolgt von einer laufenden Nummer (dem Kanal) zusammen

Die hier abgebildete Kanalliste meiner CCU ist daher wieder nur ein kleiner Ausschnitt


Jeder dieser Kanäle (channels) kann nun wieder aus keinem, einem oder mehreren Datenpunkten (DPs) bestehen.
Da die Auflistung ALLER Datenpunkte dann doch zu umfangreich werden kann und eine ziemliche Herausforderung für die HomeMatic sein kann, habe ich hier auf ein entsprechendes Script bewußt verzichtet.


Als Beispiele für die Darstellung von Datenpunkten habe ich hier zwei Beispiele bereitgestellt.

Dies ist zum einen die Liste der Temperatur- Datenpunkte der Stellantriebe.
Diese wird durch den Menüpunkt '4 Stellentrieb_DP' aufgerufen und listet alle Datenpunkte 'Temperatur' aller in dem Gewerk 'Heiz_Stellantrieb' zusammengefaßten Geräten auf

Bildquellen: J. Hoppe

Zum anderen die Liste der Temperatur- Datenpunkte der Heizungsthermostate.

Diese wird durch den Menüpunkt '5 Thermostat_DP' aufgerufen und listet alle Datenpunkte 'Temperatur' aller in dem Gewerk 'Heiz_Themos' zusammengefaßten Geräten auf




Bildquelle: J. Hoppe

Als nützliches Script ist dann noch der Menüpunkt „3 Servicemeldungen' vorhanden.

Hiermit werden alle aktiven Servicemeldungen des Systems mit Datum, Uhrzeit, Bezeichnung und Meldungs-Klartext aufgelistet



Seit Firmware Version 2.27.8 wurde jedoch die ‚Service-Schittstelle‘ (port 8181) von eQ-3 geändert und das ‚Script-Programm‘ lieferte dann in der alten Form keine Ergebnisse mehr. Eine Anfrage bei eQ-3 (dem Hersteller) brachte die sehr kundenfreundliche Antwort, daß man nur normale WEB-GUI-Anwender unterstützen könne.

Eigene Recherchen haben ergeben, daß eQ-3 den Port 8181 nun intern an einen anderen Firmwareteil übergibt. Dieser prüft wohl die HTTP-Header genauer auf Korrektheit, bzw. Vollständigkeit.

Nach einigen Experimenten habe ich herausgefunden, daß der Parameter ‚Host:‘ hinzugefügt werden mußte. Mit dieser Änderung funktioniert auch dieses Script-Programm wieder mit der aktuelle HomeMatic Firmware (Momentan 2.45.1).


Das Script kann entweder HIER oder im Downloadbereich heruntergeladen werden.