Apollon77 / ioBroker.tuya

ioBroker adapter to connect to several small and cheap Wifi devices that care connected to the Tuya Cloud and mostly use the Smartlife App/Alexa-Skill
MIT License
88 stars 22 forks source link

kein "onChange triggered" für updates via MQTT #538

Closed jrieks closed 1 year ago

jrieks commented 1 year ago

Describe the bug
Wenn ich einen Wert in iobroker zwischen true/false wechsel wird das Gerät entsprechend geschaltet, im Log kommt dabei: tuya.0 2023-05-19 14:55:00.799 debug bf8c20bcd44f1956fbjx2n.1: set value false via bf8c20bcd44f1956fbjx2n (Cloud): res=true tuya.0 2023-05-19 14:55:00.726 debug bf8c20bcd44f1956fbjx2n onChange triggered for 1 and value false tuya.0 2023-05-19 14:55:00.726 debug stateChange tuya.0.bf8c20bcd44f1956fbjx2n.1 {"val":false,"ack":false,"ts":1684500900722,"q":0,"from":"system.adapter.admin.0","user":"system.user.admin","lc":1684500900722}

To Reproduce Im iobroker habe ich den MQTT-Adapter installiert. Wenn ich den Wert mit einem MQTT-Client ändere kommt im Log nur: mqtt.0 2023-05-19 14:57:15.485 info Client [mqttlx0K3bu6] connection closed: disconnected tuya.0 2023-05-19 14:57:15.474 debug stateChange tuya.0.bf8c20bcd44f1956fbjx2n.1 {"val":true,"ack":true,"ts":1684501035471,"q":0,"from":"system.adapter.mqtt.0","user":"system.user.admin","lc":1684501029821} mqtt.0 2023-05-19 14:57:15.402 info Client [mqttlx0K3bu6] connected with secret 1684501035389_7479 und das Gerät wird nicht geschaltet, der Wert ändert sich aber in iobroker, anzukommen scheint er daher.

Expected behavior
Das Gerät sollte auch bei Änderungen via MQTT geschaltet werden.

Screenshots & Logfiles

Versions:

Additional context
Die Log-Meldung onChange triggered for 1 and value true/false kommt nicht, wenn der Wert via MQTT geschaltet wird.

Apollon77 commented 1 year ago

Ja, weil mqtt scheinbar den state mit "ack: true" sendet was falsch ist. Du musst mqtt so einstellen das steueraktionen mit ack=false weitergegeben werden.