HM-CC-RT-DN Manuelle Änderungen werden nicht zuverlässig an OpenHab weitergereicht

Hallo

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.

Hat jemand eine Idee woran das liegen könnte?

Vielen Dank für eure Hilfe

Mike

Hallo Mike,

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.

Viele Grüße

Sathya

Hallo Mike,

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 :wink:

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.

Gruß,
HomeSweetHome

Hi Sathya,

Ich habe sowohl einen 433 MhZ für meine Funksteckdosen, also auch einen 868 MhZ, für meine Max! Fenstercontakte, CUL von busware.

Der 868 CUL hängt auch am Homegear PI. der 433 hängt am OpenHab PI.

Meine Frage wäre, ob ich den CUL im Mischbetrieb (MAX!+HM) betreiben kann und wie die Konfiguration dafür aussehen würde.

Vielen Dank für Deine Antwort

Mike

[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 …

Grüße
Mike

Hi Sathya,

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.

Beste Grüße
Mike

Hallo Mike,

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

Viele Grüße

Sathya

Hallo Sathya,

eines muss ich sagen, der Support hier ist phänomenal.

Vielen Dank dafür :slight_smile:

Hier meine Homematic Devices

Und die Homegear.log’s und .err als Anhang

Grüße
Mike
logs.tar.gz (815 KB)

Hallo Mike,

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.

Dein Problem ist ein leicht lösbares Problem :wink:.

Viele Grüße

Sathya

Hi Sathya,

ich habe mir jetzt folgendes Script geschrieben (/var/lib/homegear/scripts/set_burst.php)

#!/usr/bin/env php
<?php
print_r($Client->send("putParamset", array(1, 0, "MASTER", array("BURST_RX" => false))));
print_r($Client->send("putParamset", array(2, 0, "MASTER", array("BURST_RX" => false))));
print_r($Client->send("putParamset", array(3, 0, "MASTER", array("BURST_RX" => false))));
print_r($Client->send("putParamset", array(4, 0, "MASTER", array("BURST_RX" => false))));
print_r($Client->send("putParamset", array(5, 0, "MASTER", array("BURST_RX" => false))));
print_r($Client->send("putParamset", array(6, 0, "MASTER", array("BURST_RX" => false))));
print_r($Client->send("putParamset", array(7, 0, "MASTER", array("BURST_RX" => false))));
print_r($Client->send("putParamset", array(8, 0, "MASTER", array("BURST_RX" => false))));
?>

und dann führe ich dieses Script mit

aus und es erscheint:

root@homegear:/var/lib/homegear/scripts# homegear -e rs set_burst.php
Script executed. Exit code: 0
root@homegear:/var/lib/homegear/scripts#

wenn ich dann jedoch ein config print auf einen Peer mache kommt leider immer noch

Wo liegt mein Fehler ?

Grüße
Mike

Hallo Make,

bei mir klappt es:

Channel: 0
        {
                [BURST_RX]: 00
                .
                .
                .

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.

Viele Grüße

Sathya

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

Ich bin jetzt echt ein wenig ratlos .

Grüße
Mike

Hallo Mike,

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…

Gruß,
HomeSweetHome

Hallo Mike,

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 :unamused::

<?php
$hg = new \Homegear\Homegear();

$hg->putParamset(1, 0, "MASTER", array("BURST_RX" => false));
$hg->putParamset(2, 0, "MASTER", array("BURST_RX" => false));
$hg->putParamset(3, 0, "MASTER", array("BURST_RX" => false));
$hg->putParamset(4, 0, "MASTER", array("BURST_RX" => false));
$hg->putParamset(5, 0, "MASTER", array("BURST_RX" => false));
$hg->putParamset(6, 0, "MASTER", array("BURST_RX" => false));
$hg->putParamset(7, 0, "MASTER", array("BURST_RX" => false));
$hg->putParamset(8, 0, "MASTER", array("BURST_RX" => false));
?>

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)?

Viele Grüße

Sathya

Hallo Sathya,

nochmals vielen Dank für deine ausführliche Hilfe :slight_smile:

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 :slight_smile:

Vielen Dank für Deine stets kompetente und freundliche Hilfe

Mike

Hallo Mike,

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…

Gruß,
HomeSweetHome

Hi HomeSweetHome ,

netter NickName :slight_smile:

[quote=“HomeSweetHome”]
jedenfalls kam ich zu dem Schluss, dass das nur ein kosmetisches Problem ist,
HomeSweetHome[/quote]

Ja, das sehe ich genauso…

Grüße
Mike