ich habe vor ein paar Wochen von einer Openhab -> LXCCU Umgebung auf eine Openhab -> Homegear Umgebung gewechselt.
Mir ist jetzt aufgefallen dass die SET_TEMPERATURE Werte, wenn sie am Stellrad manuell verändert werden, meiner HM-CC-RT-DN Devices nicht zuverlässig an Openhab übertragen werden.
Wenn ich am Heizkörper dieTemperatur über das Wählrad verändere (zB von 15 Grad auf 17 Grad) kommt es oft vor, dass ich die Daten nicht in Openhab sehen kann.
Erst wenn ich am gleichen Heizkörper über das Webinterface von Openhab eine Temperaturänderung initiere (zb von 15 Grad um +0,5 Grad auf 15,5 Grad) dann an den Heizkörper gehe und die Temperatur manuell nochmals um 1,5 Grad (also auf 17 Grad) anhebe, erscheinen die gewählten 17 Grad auch zuverlässig in Openhab.
Die Umgebung läuft auf zwei Pi’s und zur Kommunikation benutze ich den HM-USB-CFG-2.
Das Problem ist, dass die Stellantriebe die Änderung nur als Broadcast-Paket versenden. Wenn dieses Paket nicht empfangen wird, erfolgt kein Erneutes senden. Die Kommunikation ist an dieser Stelle nicht bidirektional. Dass das Paket nicht empfangen wird, kann zwei Gründe haben:
[ul]
[li] Schlechter Empfang - sowohl die Antenne im Stellantrieb als auch des HM-USB-CFG-2 könnten besser sein. Außerdem kann der Heizkörper direkt neben dem Stellantrieb die Reichweite bereits deutlich einschränken.[/li]
[li] Das Paket wird verschluckt. Zumindest mit dem HM-CFG-LAN habe ich das bei mehreren aufeinander folgenden Paketen oft beobachtet.[/li][/ul]
Beide Probleme kannst du vermutlich mit einem der freien Geräte (CUL, TI CC1101, …) mildern oder sogar vollständig lösen.
teste gerade selbst mit OpenHAB und Homegear 0.6.0-1022 (mit CC1101-Chip auf dem Raspi) und beobachte diesen Effekt hin und wieder auch. Z.B. bei Nutzung der Voreinstellungen für die Eco- bzw. Comfort-Temperaturen, aber auch bei Modus-Umschalten – wenn diese Aktionen direkt am Heizkörperventil gemacht werden. Dank Sathya verstehe ich jetzt, wieso das so ist
Ist aber gar nicht so schlimm: die Heizkörper senden ca. alle 2 Minuten sowieso eine ganze Menge Daten aus (u.a. CONTROL_MODE, SET_TEMPERATURE, ACTUAL_TEMPERATURE, RSSI, FAULT_REPORTING usw.). Und dabei bekommt dann OpenHAB die Daten ebenfalls mit, nur entsprechend verzögert.
[quote=“HomeSweetHome”]Hallo Mike,
Ist aber gar nicht so schlimm: die Heizkörper senden ca. alle 2 Minuten sowieso eine ganze Menge Daten aus (u.a. CONTROL_MODE, SET_TEMPERATURE, ACTUAL_TEMPERATURE, RSSI, FAULT_REPORTING usw.). Und dabei bekommt dann OpenHAB die Daten ebenfalls mit, nur entsprechend verzögert.
HomeSweetHome[/quote]
Hi SweetHome,
das ist bei mir leider nicht so, mein OpenHab bekommt manchmal von einigend Heizkörpern tagelang gar nichts mehr mit …
ich habe nochmal über Deine Argumente nachgedacht.
Ich hatte die von mir beschriebenen Probleme nicht als ich noch eine Lösung mit Openhab auf dem einen PI und lcxxu auf einem zweiten PI hatte.
Die Kombination zwischen openhab und lxccu lief etwa 12 Monate problemlos und die Standorte der Sender und Empfänger haben sich nicht verändert.
Die Probleme traten in der Tat erst auf, als ich lxccu gegen homegear getauscht habe.
Es ist also für mich nur sehr schwer nachzuvollziehen, dass es sich hier um ein Reichweiten- oder Empfangs- Problem handel soll.
Nein, weil unterschiedliche Registereinstellungen benötigt werden.
Das ist in der Tat merkwürdig. Schick mir mal die Ausgabe von
sudo homegear -r
fs 0
ds c
ls
Und das (vollständige) Homegear-Log. Alle eingehenden Pakete werden aufgezeichnet - unabhängig von der Verarbeitung. Das Log sollte also Aufschluss darüber geben, was passiert .
interessantes Problem. SET_TEMPERATURE wird als einziger Parameter zum Teil einfach nicht verarbeitet:
11/10/15 13:55:34.439 Module HomeMatic BidCoS: Info: ACTUAL_TEMPERATURE on channel 4 of HomeMatic BidCoS peer 2 with serial number KEQ0725598 was set to 0x00F0.
11/10/15 13:55:34.441 Module HomeMatic BidCoS: Info: BATTERY_STATE on channel 4 of HomeMatic BidCoS peer 2 with serial number KEQ0725598 was set to 0x0C.
11/10/15 13:55:34.443 Module HomeMatic BidCoS: Info: BOOST_STATE on channel 4 of HomeMatic BidCoS peer 2 with serial number KEQ0725598 was set to 0x00.
11/10/15 13:55:34.445 Module HomeMatic BidCoS: Info: CONTROL_MODE on channel 4 of HomeMatic BidCoS peer 2 with serial number KEQ0725598 was set to 0x01.
11/10/15 13:55:34.446 Module HomeMatic BidCoS: Info: FAULT_REPORTING on channel 4 of HomeMatic BidCoS peer 2 with serial number KEQ0725598 was set to 0x00.
11/10/15 13:55:34.448 Module HomeMatic BidCoS: Info: PARTY_START_TIME on channel 4 of HomeMatic BidCoS peer 2 with serial number KEQ0725598 was set to 0x00.
11/10/15 13:55:34.450 Module HomeMatic BidCoS: Info: VALVE_STATE on channel 4 of HomeMatic BidCoS peer 2 with serial number KEQ0725598 was set to 0x00.
Wenn ich dein Paket bei mir von Homegear analysieren lasse, bekomme ich SET_TEMPERATURE. Welche Homegear-Version hast du installiert? Falls bei dir noch 0.5 läuft, installier einmal 0.6. Ist das Problem immer noch da? Außerdem hast du im Log viele 1%-Fehler. Schalte bei den HM-CC-RT-DN Wake-on-Radio (Parameter BURST_RX) ab. Damit erhöht sich auch die Batterielebensdauer, da bei den Wake-on-Radio-Paketen jedes Mal jedes Gerät aufgeweckt wird.
Um zu sehen, warum es nicht klappt, müsste ich das Log sehen. Dein Skript sieht soweit korrekt aus. Du scheinst Homegear 0.5 am Laufen zu haben. Könntest du Homegear 0.6 installieren? Es ist nämlich sehr gut möglich, dass die Probleme dann gelöst sind. Warte aber bitte noch, bis (mindestens) das Nightly 0.6.0-1049 online ist, da sich in das Nightly 1041 ein doofer Fehler eingeschlichen hat.
[quote=“sathya”]
Um zu sehen, warum es nicht klappt, müsste ich das Log sehen. [/quote]
Hi Sathya,
die Fehlermeldung beim ausführen des Scripts im log ist wie folgt:
11/20/15 11:35:02.461 Info: CLI connection accepted. Client number: 66
11/20/15 11:35:02.488 Scriptengine (/var/lib/homegear/scripts/set_burst.php): PHP Notice: Undefined variable: Client in /var/lib/homegear/scripts/set_burst.php on line 2
11/20/15 11:35:02.491 Scriptengine (/var/lib/homegear/scripts/set_burst.php): PHP Fatal error: Uncaught Error: Call to a member function send() on unknown in /var/lib/homegear/scripts/set_burst.php:2
Stack trace:
#0 {main}
thrown in /var/lib/homegear/scripts/set_burst.php on line 2
Da scheint irgendwas im Script nicht zu stimmen, ich bin leider schon zu lange aus der (PHP-) Programmierung raus, als dass ich den Fehler selber erkennen könnte.
Aus ein Update auf die aktuelle nightly hat mir in meinem ursprünglichem Problem nicht viel gebracht
Ich habe jetzt die Version
root@homegear:~# homegear -v
Homegear version 0.6.0-1053
installiert aber wenn ich just in diesem Moment die Soll-Temperatur im Büro von 11.0° auf 15° verstelle kommt es nicht bei Homegear an
11/20/15 11:41:19.233 Module HomeMatic BidCoS: Info: ACTUAL_TEMPERATURE on channel 4 of HomeMatic BidCoS peer 5 with serial number LEQ0401733 was set to 0x00E3.
11/20/15 11:41:19.234 Module HomeMatic BidCoS: Info: BATTERY_STATE on channel 4 of HomeMatic BidCoS peer 5 with serial number LEQ0401733 was set to 0x0E.
11/20/15 11:41:19.234 Module HomeMatic BidCoS: Info: BOOST_STATE on channel 4 of HomeMatic BidCoS peer 5 with serial number LEQ0401733 was set to 0x00.
11/20/15 11:41:19.235 Module HomeMatic BidCoS: Info: CONTROL_MODE on channel 4 of HomeMatic BidCoS peer 5 with serial number LEQ0401733 was set to 0x01.
11/20/15 11:41:19.235 Module HomeMatic BidCoS: Info: FAULT_REPORTING on channel 4 of HomeMatic BidCoS peer 5 with serial number LEQ0401733 was set to 0x00.
11/20/15 11:41:19.236 Module HomeMatic BidCoS: Info: PARTY_START_TIME on channel 4 of HomeMatic BidCoS peer 5 with serial number LEQ0401733 was set to 0x00.
11/20/15 11:41:19.237 Module HomeMatic BidCoS: Info: VALVE_STATE on channel 4 of HomeMatic BidCoS peer 5 with serial number LEQ0401733 was set to 0x00.
bei einem anderen Device wird der SET_TEMPERATURE Parameter hingegen übergeben
11/20/15 11:41:45.512 Module HomeMatic BidCoS: Info: ACTUAL_TEMPERATURE on channel 4 of HomeMatic BidCoS peer 4 with serial number LEQ0401810 was set to 0x00D1.
11/20/15 11:41:45.513 Module HomeMatic BidCoS: Info: BATTERY_STATE on channel 4 of HomeMatic BidCoS peer 4 with serial number LEQ0401810 was set to 0x0C.
11/20/15 11:41:45.514 Module HomeMatic BidCoS: Info: BOOST_STATE on channel 4 of HomeMatic BidCoS peer 4 with serial number LEQ0401810 was set to 0x00.
11/20/15 11:41:45.514 Module HomeMatic BidCoS: Info: CONTROL_MODE on channel 4 of HomeMatic BidCoS peer 4 with serial number LEQ0401810 was set to 0x01.
11/20/15 11:41:45.515 Module HomeMatic BidCoS: Info: FAULT_REPORTING on channel 4 of HomeMatic BidCoS peer 4 with serial number LEQ0401810 was set to 0x00.
11/20/15 11:41:45.516 Module HomeMatic BidCoS: Info: PARTY_START_TIME on channel 4 of HomeMatic BidCoS peer 4 with serial number LEQ0401810 was set to 0x00.
11/20/15 11:41:45.516 Module HomeMatic BidCoS: Info: SET_TEMPERATURE on channel 4 of HomeMatic BidCoS peer 4 with serial number LEQ0401810 was set to 0x1E.
11/20/15 11:41:45.517 Module HomeMatic BidCoS: Info: VALVE_STATE on channel 4 of HomeMatic BidCoS peer 4 with serial number LEQ0401810 was set to 0x00.
mal eine ganz blöde Idee: Mache doch vielleicht einen Firmware-Upgrade der Heizkörper-Ventile auf 1.4. Mindestens von dem, der Probleme macht…
Achtung: achte darauf, dass die Funkverbindung dabei “gut” und stabil ist, ich habe das gemacht, indem ich mit dem Funkteil auf ca. 3m an die Ventile 'rangegangen bin…
Ach ja: ich weiß nicht, ob das mit deinem “Sender” geht – ich nutze den TI CC1101 am Raspi…
dein Skript läuft wie folgt (da fehlte das Einbinden der Kommunikationsklasse (“include “Connect.php”;”), aber das ist in Homegear 0.6 sowieso nicht notwendig). Ich habe beim Anschauen geschlafen und nur geschaut, ob die putParamsets richtig waren :
Das mit “sudo homegear -e rs SCRIPTNAME.php” ausführen und die Variable sollte gesetzt sein.
Dein zweites Problem ist merkwürdig, da muss ich Quelltext lesen. Ich werde bei mir noch einmal einen Rekonstruktionsversuch starten. Kannst du mir dazu deine Datenbank an meine E-Mail-Adresse (sathya (bei) laufers (punkt) net) schicken (/var/lib/homegear/db.sql)?
Das Script Problem ist gelöst und den BURST Mode konnte ich auf allen Devices deaktivieren.
Den Firmware Upgrade auf Version 1.4 (hm_cc_rt_dn_update_V1_4_001_141020.eq3) habe ich erfolgreich durchgeführt, allerdings zeigt mir ein
fs 0
ds c
ls
immer noch Firmwareversion 1.3 an, was mich ein wenig irritiert.
Ein kurzer Test an meinem “Lieblingsthermostat” im Büro (manueller Termperaturwechsel) lieferte das gewünscht Ergebnis und die SET_TEMPERATURE wird an homegear und dann an openhab übermittelt.
Zum jetzigen Zeitpunkt ist es aus meiner Sicht nicht nötig Dir noch mehr Supportarbeit zuzumuten als Du es sowieso schon getan hast.
Ich denke die Aktion mit der SQL-DB können wir getrost überspringen, da ja mein erster Test zufriedenstellend verlaufen ist
Vielen Dank für Deine stets kompetente und freundliche Hilfe
das mit der Anzeige der “alten” Firmwareversion kommt mir irgendwie bekannt vor. Ich weiß aber nicht mehr, ob ich das Teil dann nochmal neu angelernt hatte oder ob ich einfach homegear neu gestartet hatte – jedenfalls kam ich zu dem Schluss, dass das nur ein kosmetisches Problem ist, aber kein relevanter Fehler…