Fritz DECT
Verfasst: Fr 3. Feb 2017, 12:06
Hallo,
wie im Thread viewtopic.php?f=4&t=721&start=10 erwähnt, habe ich mir ein Fritz (genauer Eurotronic) Comet Heizkörperthermostat geholt und möchte über Erfahrungen und Einbindung berichten. Erst mal vorweg: ich bin hochzufrieden und habe gleich noch ein paar zum Preis von 39€ nachgekauft. Die Einbindung in LM geht aber nur über Umwege.
Die Thermostate werden von der Fritzbox gesteuert, die Einbindung ist sehr einfach und schnell, die Montage hat auch an Ventilen unterschiedlichen Typs (vorher waren Heimeier und irgendein altes Danfoss-Ventil drauf) problemlos geklappt.
Erstmal wurde alles unter der Fritzbox-Oberfläche unter der Punkt "Smart Home" eingestellt. Man kann für jedes Thermostat einen eigenen wöchentlichen Plan einstellen, wann es heizen soll und wann abgesenkt wird. Zusätzlich kann man jedes Thermostat auch manuell auf einen Wert zwischen 8 und 28 oder ganz Ein/Aus einstellen, dieser Wert hält bis der nächste Übergang im wöchentlichen Plan dran ist. Außerdem kann man noch Urlaubszeiten oder Zeiten eintragen, in denen die Heizung sowieso aus ist.
Praktisch ist auch die Rückmeldung der Temperatur, so dass man auch was von den Geräten hat, wenn im Sommer nicht geheizt wird. Ebenso die "Fenster-Auf" Erkennung, man kann einstellen, wie lange dann das Ventil zubleibt.
Wenn der Stellmotor des Thermostats läuft, hört man das durchaus, aber ich finde nicht, dass es unangenehm laut ist. Das folgende Rauschen, wenn das Ventil aufgemacht wird, ist fast genauso laut.
Der Empfang des verwendeten DECT ULE Funks ist aus meiner Sicht sehr gut. Ich habe ein Thermostat irgendwo tief im Keller eingebaut, da muss das Signal durch mehrere Betonwände. Das WLAN-Signal (das von derselben Fritzbox kommt) ist hier nicht mehr empfangbar, das Thermostat arbeitet problemlos.
Nun aber zur Einbindung in den LM Air, schließlich möchte ich alles, was im Smart Home läuft unter einer Oberfläche finden.
Leider gibt es keine serienmäßige Integration in den LM, dabei hat AVM die HTTP Schnittstelle (AHA-API) recht gut beschrieben (https://avm.de/fileadmin/user_upload/Gl ... erface.pdf). Es scheint mir recht einfach, sowas in Javascript zu realisieren, es gibt sogar eine API zum herunterladen (https://www.npmjs.com/package/fritzapi). Auf diesem Weg könnte man sogar Fritzbox-Funktionen wie "Gastnetz Einschalten" direkt im LM aufrufen.
Solange es das nicht gibt, müssen wir uns anders helfen.
Eigentlich kann Prinzip kann man über einen einfachen Webrequest alle Funktionen aufrufen. Z. B. würde man mit
"http://fritz.box/webservices/homeautosw ... 3456789012"
die Temperatur eines Thermostats einstellen können. "param=48" wird dabei durch 2 geteilt, stellt also die Tempertaur auf 24 ein (somit sind auch "Halbe" möglich, z. B. 41 für 20,5 Grad). "ain" ist die Identifizierung des Thermostats, die kann man von der Smart Home-Seite auf der Fritzbox abschreiben (oder durch einen anderen http-Request-Befehl als Liste bekommen).
Die einfache Einbindung als http-Request in den LM scheitert aber am Paramter "sid": Das ist eine Session-ID, die über ein nicht ganz einfaches Verfahren gebildet wird, und nur eine Stunde gültig ist. AVM hat dies aus Sicherheitsgründen eingeführt, der Vorteil ist, dass das Passwort nicht im http-Request lesbar auftaucht. Aber im Moment haben wir m. W. keine Möglichkeit, als Anwender sowas direkt auf dem LM Air selbst zu generieren.
Also brauchen wir nun doch eine weitere Box, in meinem Fall ein Raspberry mit Rasbian Jessie als Betriebssystem.
(Nur so nebenbei: recht einfach auf dem Raspberry ist die Einbindung in FHEM. Hier muss nur das Modul "FBAHAHTTP" definiert werden und User+Passwort eingestellt werden. Wer FHEM gut findet, der wird so wohl am ehesten glücklich.)
Die oben erwähnte API unter Javascript bzw. Node.js sah vielversprechend aus, leider habe ich kaum Ahnung von Javascript, so dass ich einen anderen Weg gegangen bin.
Bei Github gibt es ein spannendes Shellscript (https://github.com/fbartels/scripts/blo ... x-login.sh), das die Session-ID generiert. Alle weiteren Befehle aus der AHA-Spezifikation können dann einfach mit dem "curl"-Kommando als Webrequest ausgeführt werden, die Skripten dazu waren schnell erstellt.
Die Skripte habe ich dann auf dem ebenfalls auf dem Raspberry laufenden Webserver als PHP-Skripte aufrufbar gemacht, so dass ich nun aus dem LM per Webrequest tatsächlich meine Thermostate ein- und ausstellen kann. Leider weiss ich noch keinen Weg, wie man die Temperatur im LM rückmelden kann.
In Imperihome klappt die Einbindung aber schon prima. Per crontab generiere ich alle 5 Minuten eine kleine Grafik der Temperaturen der Thermostate als SVG, die in Imperihome direkt als Webseite eingebunden und dargestellt wird.
Im Prinzip bin ich damit am Ziel, hätte mir aber gewünscht, dass die Einbindung einfacher ist
wie im Thread viewtopic.php?f=4&t=721&start=10 erwähnt, habe ich mir ein Fritz (genauer Eurotronic) Comet Heizkörperthermostat geholt und möchte über Erfahrungen und Einbindung berichten. Erst mal vorweg: ich bin hochzufrieden und habe gleich noch ein paar zum Preis von 39€ nachgekauft. Die Einbindung in LM geht aber nur über Umwege.
Die Thermostate werden von der Fritzbox gesteuert, die Einbindung ist sehr einfach und schnell, die Montage hat auch an Ventilen unterschiedlichen Typs (vorher waren Heimeier und irgendein altes Danfoss-Ventil drauf) problemlos geklappt.
Erstmal wurde alles unter der Fritzbox-Oberfläche unter der Punkt "Smart Home" eingestellt. Man kann für jedes Thermostat einen eigenen wöchentlichen Plan einstellen, wann es heizen soll und wann abgesenkt wird. Zusätzlich kann man jedes Thermostat auch manuell auf einen Wert zwischen 8 und 28 oder ganz Ein/Aus einstellen, dieser Wert hält bis der nächste Übergang im wöchentlichen Plan dran ist. Außerdem kann man noch Urlaubszeiten oder Zeiten eintragen, in denen die Heizung sowieso aus ist.
Praktisch ist auch die Rückmeldung der Temperatur, so dass man auch was von den Geräten hat, wenn im Sommer nicht geheizt wird. Ebenso die "Fenster-Auf" Erkennung, man kann einstellen, wie lange dann das Ventil zubleibt.
Wenn der Stellmotor des Thermostats läuft, hört man das durchaus, aber ich finde nicht, dass es unangenehm laut ist. Das folgende Rauschen, wenn das Ventil aufgemacht wird, ist fast genauso laut.
Der Empfang des verwendeten DECT ULE Funks ist aus meiner Sicht sehr gut. Ich habe ein Thermostat irgendwo tief im Keller eingebaut, da muss das Signal durch mehrere Betonwände. Das WLAN-Signal (das von derselben Fritzbox kommt) ist hier nicht mehr empfangbar, das Thermostat arbeitet problemlos.
Nun aber zur Einbindung in den LM Air, schließlich möchte ich alles, was im Smart Home läuft unter einer Oberfläche finden.
Leider gibt es keine serienmäßige Integration in den LM, dabei hat AVM die HTTP Schnittstelle (AHA-API) recht gut beschrieben (https://avm.de/fileadmin/user_upload/Gl ... erface.pdf). Es scheint mir recht einfach, sowas in Javascript zu realisieren, es gibt sogar eine API zum herunterladen (https://www.npmjs.com/package/fritzapi). Auf diesem Weg könnte man sogar Fritzbox-Funktionen wie "Gastnetz Einschalten" direkt im LM aufrufen.
Solange es das nicht gibt, müssen wir uns anders helfen.
Eigentlich kann Prinzip kann man über einen einfachen Webrequest alle Funktionen aufrufen. Z. B. würde man mit
"http://fritz.box/webservices/homeautosw ... 3456789012"
die Temperatur eines Thermostats einstellen können. "param=48" wird dabei durch 2 geteilt, stellt also die Tempertaur auf 24 ein (somit sind auch "Halbe" möglich, z. B. 41 für 20,5 Grad). "ain" ist die Identifizierung des Thermostats, die kann man von der Smart Home-Seite auf der Fritzbox abschreiben (oder durch einen anderen http-Request-Befehl als Liste bekommen).
Die einfache Einbindung als http-Request in den LM scheitert aber am Paramter "sid": Das ist eine Session-ID, die über ein nicht ganz einfaches Verfahren gebildet wird, und nur eine Stunde gültig ist. AVM hat dies aus Sicherheitsgründen eingeführt, der Vorteil ist, dass das Passwort nicht im http-Request lesbar auftaucht. Aber im Moment haben wir m. W. keine Möglichkeit, als Anwender sowas direkt auf dem LM Air selbst zu generieren.
Also brauchen wir nun doch eine weitere Box, in meinem Fall ein Raspberry mit Rasbian Jessie als Betriebssystem.
(Nur so nebenbei: recht einfach auf dem Raspberry ist die Einbindung in FHEM. Hier muss nur das Modul "FBAHAHTTP" definiert werden und User+Passwort eingestellt werden. Wer FHEM gut findet, der wird so wohl am ehesten glücklich.)
Die oben erwähnte API unter Javascript bzw. Node.js sah vielversprechend aus, leider habe ich kaum Ahnung von Javascript, so dass ich einen anderen Weg gegangen bin.
Bei Github gibt es ein spannendes Shellscript (https://github.com/fbartels/scripts/blo ... x-login.sh), das die Session-ID generiert. Alle weiteren Befehle aus der AHA-Spezifikation können dann einfach mit dem "curl"-Kommando als Webrequest ausgeführt werden, die Skripten dazu waren schnell erstellt.
Die Skripte habe ich dann auf dem ebenfalls auf dem Raspberry laufenden Webserver als PHP-Skripte aufrufbar gemacht, so dass ich nun aus dem LM per Webrequest tatsächlich meine Thermostate ein- und ausstellen kann. Leider weiss ich noch keinen Weg, wie man die Temperatur im LM rückmelden kann.
In Imperihome klappt die Einbindung aber schon prima. Per crontab generiere ich alle 5 Minuten eine kleine Grafik der Temperaturen der Thermostate als SVG, die in Imperihome direkt als Webseite eingebunden und dargestellt wird.
Im Prinzip bin ich damit am Ziel, hätte mir aber gewünscht, dass die Einbindung einfacher ist