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