Seite 1 von 1

Heizungsgruppen und LOWBAT in XML API

Verfasst: 28.01.2020, 14:46
von mikepiko
Vielleicht kanns mal jemand gegenchecken ...

Ich frage mit IoBroker den Zustand aller Datenpunkte ab die "LOWBAT" oder "LOW_BAT" enthalten um leere Batterien zu erkennen.
Soweit nicht schwer.

Meine Heizungen habe ich zu Gruppen zusammengefasst.
Die meisten bestehen aus 1 oder 2 Ventilen, 1-3 Optische Fenstersensoren und an manchen Stellen auch nen Wandthermostat.
(Alles "nicht IP" Geräte)

Die XML API mit der IoBroker ja nun die Geräte abfragt bringt auch bei Gruppen den Parameter "LOWBAT" mit.

Aktuell ist keine Batterie an irgend einer Heizungskomponente leer.

Trotzdem gibt es einige Gruppen die den LOWBAT Status "true" haben.

Ich hab das ganze mal von Hand über die XML API der CCU ausgeführt und gesehen das einige Gruppen (die den Status "FALSE" haben) auch so in der statelist.cgi mit Value "false" auftauchen (was ja auch korrekt ist):

Code: Alles auswählen

<device name="Z EG HG Bad" ise_id="6688" unreach="false" sticky_unreach="false" config_pending="false">
<channel name="Z EG HG Bad:0" ise_id="6689" index="0" visible="" operate="">
<datapoint name="VirtualDevices.INT0000003:0.LOWBAT" type="LOWBAT" ise_id="6694" value="false" valuetype="2" valueunit="" timestamp="1578930744" operations="5"/>
</channel>
Die Gruppen die lt. IoBroker den State "true" haben stehen Kurioserweise mit einem Zahlenwert in der Liste:

Code: Alles auswählen

<device name="Z EG HG Eingang und Flur" ise_id="6464" unreach="20.0" sticky_unreach="20.0" config_pending="false">
<channel name="Z EG HG Eingang und Flur:0" ise_id="6465" index="0" visible="" operate="">
<datapoint name="VirtualDevices.INT0000001:0.LOWBAT" type="LOWBAT" ise_id="6470" value="20.0" valuetype="2" valueunit="" timestamp="1578930745" operations="5"/>
</channel>
In diesem Falle mit value "20.0" ?!
Klingt eher wie eine Temperatur ...

Und es steht auf diversen Channels die sonst nur true/false haben sollten ...
Ist das ein Bug ? Oder wie kommt der Wert dorthin ?!
Und wie kann ich es Lösen ?!

Danke vorab ;-)

Re: Heizungsgruppen und LOWBAT in XML API

Verfasst: 10.02.2020, 15:59
von mikepiko
Niemand ?!

Kann niemand mit Heizungsgruppen mal bei sich über die statelist.cgi auf seinen Output schauen ob dort auch Temperaturen bei "LOWBAT" auftauchen ?!

Ich vermute das es ein Bug ist sehe 22 Grad als Batteriestatus nicht als Feature an ;-)

Re: Heizungsgruppen und LOWBAT in XML API

Verfasst: 10.02.2020, 16:17
von jmaus
Das taucht bei mir in der Tat bei einer Gruppe auch auf. Siehe:

Code: Alles auswählen

<device name="Gruppe-HZ-HWR" ise_id="2831" unreach="20.0" sticky_unreach="20.0" config_pending="false">
<channel name="Gruppe-HZ-HWR:0" ise_id="2832" index="0" visible="" operate="">
<datapoint name="VirtualDevices.INT0000009:0.UPDATE_PENDING" type="UPDATE_PENDING" ise_id="2842" value="false" valuetype="2" valueunit="" timestamp="1580476351" operations="5"/>
<datapoint name="VirtualDevices.INT0000009:0.RSSI_DEVICE" type="RSSI_DEVICE" ise_id="2838" value="20.0" valuetype="8" valueunit="" timestamp="1580476351" operations="5"/>
<datapoint name="VirtualDevices.INT0000009:0.AES_KEY" type="AES_KEY" ise_id="2833" value="20.0" valuetype="8" valueunit="" timestamp="1580476351" operations="1"/>
<datapoint name="VirtualDevices.INT0000009:0.DEVICE_IN_BOOTLOADER" type="DEVICE_IN_BOOTLOADER" ise_id="2835" value="20.0" valuetype="2" valueunit="" timestamp="1580476351" operations="5"/>
<datapoint name="VirtualDevices.INT0000009:0.CONFIG_PENDING" type="CONFIG_PENDING" ise_id="2834" value="false" valuetype="2" valueunit="" timestamp="1580476351" operations="5"/>
<datapoint name="VirtualDevices.INT0000009:0.UNREACH" type="UNREACH" ise_id="2841" value="20.0" valuetype="2" valueunit="" timestamp="1580476351" operations="5"/>
<datapoint name="VirtualDevices.INT0000009:0.LOWBAT" type="LOWBAT" ise_id="2837" value="20.0" valuetype="2" valueunit="" timestamp="1580476351" operations="5"/>
<datapoint name="VirtualDevices.INT0000009:0.STICKY_UNREACH" type="STICKY_UNREACH" ise_id="2840" value="20.0" valuetype="2" valueunit="" timestamp="1580476351" operations="7"/>
<datapoint name="VirtualDevices.INT0000009:0.RSSI_PEER" type="RSSI_PEER" ise_id="2839" value="20.0" valuetype="8" valueunit="" timestamp="1580476351" operations="5"/>
</channel>
Es ist IMHO schon auffallend, das hier bei "unreach" und bei "sticky_unreach" auch eine 20 drinsteht und kein boolean (true/false). In der tat fällt einem da auf das an vielen stellen bei "value" einfach nur "20.0" steht statt true/false.

Nun ist nur die Frage ob das ein Bug im XML-API Addon darstellt oder die datenpunkte so bereits einfach von ReGaHss bzw. HMIPServer falsch ausgeliefert werden.

Folgender Skript bei "Skript testen" ausgeführt zeigt dann das das XML-API Addon wohl alles richtig macht:

Code: Alles auswählen

WriteLine(datapoints.Get("VirtualDevices.INT0000009:0.LOWBAT").State());
WriteLine(datapoints.Get("VirtualDevices.INT0000009:0.LOWBAT").ValueType());
Ausgabe:

Code: Alles auswählen

20.0
2
D.h. aus irgendeinem Grund steht hier statt true/false eine 20 .0in dem Datenpunkt.

Des Weiteren sehe ich auch in ioBroker (ist mir vorher nie aufgefallen) das via XMLRPC der HMIPServer wohl in der Tat für manche Datenpunkte "20" zurück gibt und das LOWBAT auch auf true gesetzt wird:
Bildschirmfoto 2020-02-10 um 16.32.33.png
Müsste man also mal genauer rausfinden wieso?!? Scheint mir aktuell ein Bug im HMIPServer zu sein?!?

EDIT:
Bei mir betrifft es aktuelle lediglich nur eine Heizungsgruppe und bei der ist das besondere das diese im Gegensatz zu den anderen nur einen Heizkörperthermostat und Fensterkontakt beinhaltet und keinerlei Wandthermostat zugeordnet ist. Ist das bei dir auch bei den betroffenen Gruppern der Fall?!?

Re: Heizungsgruppen und LOWBAT in XML API

Verfasst: 11.02.2020, 08:57
von mikepiko
Danke für die Antwort Jens !

Das kann ich tatsächlich so bestätigen.

Der Fehler tritt nur dann auf wenn es Gruppen sind bei denen kein Wandthermostat dabei ist.

Habe diverse Kombinationen von 2 Ventilen plus 3 Fenstersensoren zb oder auch mal 1 Ventil und 1 Fenster.
Der Fehler ist auch bei ner Gruppe mit nur einem Ventil vorhanden.

Sobald aber ein Wandthermostat dabei ist sind die Werte korrekt.
Ich glaube da haben wir den Schuldigen ;-)

Jetzt müssten wir vielleicht noch gegenprüfen ob das bei ner "normalen" CCU auch passiert ?!

BTW : Bei mir sind es alles "HM" geräte und keine "HMIP" ... Falls das noch irgendwie relevant ist.

Re: Heizungsgruppen und LOWBAT in XML API

Verfasst: 11.02.2020, 11:56
von jmaus
mikepiko hat geschrieben:
11.02.2020, 08:57
Jetzt müssten wir vielleicht noch gegenprüfen ob das bei ner "normalen" CCU auch passiert ?!
Das passiert definitiv auch bei einer "normalen" CCU2 und CCU3. Der HMIPServer initialisiert anscheinend (warum auch immer) Werte die nicht geliefert werden mit "20". Damit das Problem aber nicht in Vergessenheit gerät habe ich dazu mal ein entsprechendes Ticket im RaspberryMatic Repository aufgemacht:

https://github.com/jens-maus/RaspberryMatic/issues/773

Re: Heizungsgruppen und LOWBAT in XML API

Verfasst: 11.02.2020, 14:42
von mikepiko
Ist bestimmt ein "Feature" damit die Kunden Wandthermostate kaufen ;-)

Danke für Deine Hilfe ! :)