setValue bewirkt doppelte Wertänderung


#1

Bei den Miscellaneous Devices (im Speziellen wieder bei der Implementierung der Xiaomi Devices) ist noch ein komisches Verhalten aufgefallen. Setze ich einen Wert mit setValue zB PRESSURE in Channel 1 sieht das bei Debuglevel 5 in homegear.log so aus:

11/13/18 20:19:40.528 Script Engine Server: Info: Client number 0 is calling RPC method: setValue
(Integer) 7
(Integer) 1
(String) PRESSURE
(Float) 98611/13/18 20:19:40.528 Script Engine Server: Info: Client number 0 is calling RPC method: setValue
(Integer) 7
(Integer) 1
(String) PRESSURE
(Float) 986
11/13/18 20:19:40.529 MQTT Client: Debug: queueMessage(peerId, channel, keys, values) -> peerId=7, channel=1, keys, values
11/13/18 20:19:40.529 MQTT Client: Debug: queueMessage (message) topic: plain/7/1/PRESSURE message:986

11/13/18 20:19:40.529 MQTT Client: Debug: queueMessage(peerId, channel, keys, values) -> peerId=7, channel=1, keys, values
11/13/18 20:19:40.529 MQTT Client: Debug: queueMessage (message) topic: plain/7/1/PRESSURE message:986

So weit alles in Ordnung. Nur bei Channel 0 wird zusätzlich immer zuerst eine 0 übertragen. Beispiel Setzen von VOLTAGE auf Channel 0:

11/13/18 20:18:35.738 Script Engine Server: Info: Client number 0 is calling RPC method: setValue
(Integer) 8
(Integer) 0
(String) VOLTAGE
(Integer) 3025
11/13/18 20:18:35.738 MQTT Client: Debug: queueMessage(peerId, channel, keys, values) -> peerId=8, channel=0, keys, values
11/13/18 20:18:35.738 MQTT Client: Debug: queueMessage (message) topic: plain/8/0/VOLTAGE message:0
11/13/18 20:18:35.738 MQTT Client: Debug: queueMessage(peerId, channel, keys, values) -> peerId=8, channel=0, keys, values
11/13/18 20:18:35.738 MQTT Client: Debug: queueMessage (message) topic: plain/8/0/VOLTAGE message:3025

Also zwei mal queueMessage und der erste ist eine 0, wo auch immer die her kommt.

Ist das eine Besonderheit bei Channel 0 und ich habe die Kanalliste falsch erstellt oder ein Fehler in Homegear?

Siehe auch https://github.com/pfandfrei/Homegear-Xiaomi-Smarthome/issues/6


#2

Hallo @DasKleingedruckte,

sorry für die sehr späte Antwort :roll_eyes:. Vorweihnachtsstress. Magst du mal schauen, ob der Fehler immer noch auftritt? Falls ja, schreib mir eine E-Mail an sathya@homegear.email, dann sollten wir schnell schaffen, das Problem zu lösen. Auf Anhieb bekomme ich es leider nicht reproduziert.

Viele Grüße

Sathya


#3

Hallo @sathya,

kein Problem, aus meiner Sicht ist es nicht so eilig. Ich muss dann erst mal wieder meine Testumgebung überprüfen. Ich nehme an, dass ich dann die nächste Nightly nehmen sollte …
Ich denke ich kann das im Laufe der kommenden Woche schaffen und melde mich dann auf jeden Fall nachmals.

Gruß,
Frank


#4

Kurzer Zwischenstand: Ich habe es mal mit der 0.7.32-2640 probiert. Leider bekomme ich das PHP Skript hier überhaupt nicht zum Laufen und es wird irgendwann mit Signal 11 beendet. Aus Zeitgründen könnte ich aber nicht weiter suchen, wo genau das Problem liegt.
Ich werde bei Gelegenheit nochmal einen RPi aufsetzen und es mit einer 0.8 nightly Version überprüfen.