NEWS
[BUG] MQTT Broker/Client
-
Edit: Topic angepasst. Bitte mal zu den Bugs verschieben
Hallo.
Ich kämpf seit letzter Woche mit einem kleinen Problem und komm nicht weiter, vielleicht könnt ihr mir ja weiter helfen.
Ich habe eine ioBroker Installation mit VIS die auf ein mit einen MQTT Adapter auf meinen Mosquitto Broker zugreift. In Kombination mit NodeRed UI kommt es da immer wieder zu Ausfallerscheinungen.
Im VIS und im NodeRed habe ich einen Schalter, welcher der einen Topic im Mosquitto steuert. Bei Änderungen dieser führt NodeRed einen Bash Befehl aus und schaltet meine RF Funksteckdose. Das ganze funktioniert auch. Also ich kann die Dose per VIS und NodeRed ein und ausschalten.
Wenn ich aber die Dose im NodeRed anschalte und im VIS ausschalten will, bekommt der MQTT Server keine Änderung zugestellt und die Dose wird nicht geschalten. Nachdem ich den Schalter dann noch zwei mal gedrückt hab, schaltet die Dose wieder.
Alle anderen Kombinationen funktionieren.
Kennt jemand das Problem und kann mir weiter helfen?
VIS: 1.1.4 js-controller 1.4.2 Node-RED v0.18.4 Mosquitto Version: 1.4.10-3+deb9u1
So schauts im VIS aus.
Das ist aus dem NodeRed
[{"id":"99db49ff.123748","type":"ui_switch","z":"c43b3632.a5fdb8","name":"","label":"Funksteckdose","group":"6654b0cd.343ff","order":3,"width":0,"height":0,"passthru":false,"decouple":"true","topic":"","style":"","onvalue":"true","onvalueType":"str","onicon":"","oncolor":"","offvalue":"false","offvalueType":"str","officon":"","offcolor":"","x":581.0000610351562,"y":1083.9999933242798,"wires":[["be1c645.f938098"]]},{"id":"be1c645.f938098","type":"mqtt out","z":"c43b3632.a5fdb8","name":"Funksteckdose","topic":"RF433/quigg_gt9000_1","qos":"","retain":"","broker":"4e3bc35c.2dc2cc","x":988.4999980926514,"y":1084.0000467300415,"wires":[]},{"id":"d6ed3d6e.1278b","type":"mqtt in","z":"c43b3632.a5fdb8","name":"Funksteckdose","topic":"RF433/quigg_gt9000_1","qos":"0","broker":"4e3bc35c.2dc2cc","x":355.50003814697266,"y":965.0001735687256,"wires":[["953b44d2.b505b8"]]},{"id":"5cee15d7.b22aec","type":"exec","z":"c43b3632.a5fdb8","command":"bash -c \"/usr/local/bin/pilight-send -p quigg_gt9000 -i 196727 -u 3 -f\"","addpay":true,"append":"","useSpawn":"false","timer":"","oldrc":false,"name":"","x":1242.523452758789,"y":1027.8984279632568,"wires":[[],[],[]]},{"id":"6d1c2f08.f7a2d","type":"exec","z":"c43b3632.a5fdb8","command":"bash -c \"/usr/local/bin/pilight-send -p quigg_gt9000 -i 196727 -u 3 -t\"","addpay":true,"append":"","useSpawn":"false","timer":"","oldrc":false,"name":"","x":1240.0195388793945,"y":971.253942489624,"wires":[[],[],[]]},{"id":"953b44d2.b505b8","type":"switch","z":"c43b3632.a5fdb8","name":"","property":"payload","propertyType":"msg","rules":[{"t":"cont","v":"true","vt":"str"},{"t":"cont","v":"false","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":758.2735443115234,"y":960.6016902923584,"wires":[["6d1c2f08.f7a2d","d87cca27.66fcc8"],["5cee15d7.b22aec","d87cca27.66fcc8"]]},{"id":"d87cca27.66fcc8","type":"debug","z":"c43b3632.a5fdb8","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":1142.5079460144043,"y":898.6368112564087,"wires":[]},{"id":"f7cc9b4b.c804f8","type":"mqtt in","z":"c43b3632.a5fdb8","name":"Funksteckdose","topic":"RF433/quigg_gt9000_1","qos":"0","broker":"4e3bc35c.2dc2cc","x":359.51952362060547,"y":1084.753960609436,"wires":[["99db49ff.123748"]]},{"id":"6654b0cd.343ff","type":"ui_group","z":"","name":"Schalter","tab":"5d86edbf.ced464","order":1,"disp":true,"width":"6","collapse":false},{"id":"4e3bc35c.2dc2cc","type":"mqtt-broker","z":"","name":"localhost","broker":"localhost","port":"1883","clientid":"nodered","usetls":false,"compatmode":false,"keepalive":"60","cleansession":true,"willTopic":"","willQos":"0","willPayload":"","birthTopic":"","birthQos":"0","birthPayload":""},{"id":"5d86edbf.ced464","type":"ui_tab","z":"","name":"Übersicht","icon":"dashboard","order":1}]
-
Hier noch ein Screenshot von MQTT Broker
-
Habs mittlerweile raus bekommen. Es liegt nicht am VIS und auch nicht am NodeRed.
Es ist der MQTT Adapter. Der bekommt nicht wirklich mit, dass eine Änderung stattgefunden hat, obwohl er es in den in den Objekten anzeigt. Wenn ich im Adapter den Haken bei "Publish nur bei Änderung" rausnehme, funktioniert es wie es soll.
mosquitto_pub -h 10.0.0.104 -t "/RF433/quigg_gt9000_1" -m "false"
und
mosquitto_pub -h 10.0.0.104 -t "/RF433/quigg_gt9000_1" -m "true"
funktionieren immer.
Wenn ich das Gerät aus den Objekten raus steuern will, wird der erste Versuch nicht published, wenn ich vorher den Status mit mosquitto_pub geändert habe.
-
Bitte mal zu den Bugs verschieben