NEWS
MQTT Adapter sendet gesetzte Zustände nicht
-
Warum willst du eigentlich MQTT nutzen?
Steuerst du von einem externen MQTT-Gerät?
-
Ich verwende zum Steuern eine selbst entwickelte App in der ich per Javascript MQTT Paho integriert habe.
-
Aha.
Der normale Weg, den ich in iobroker mit mqtt kenne ist so, dass der mqtt-Adapter die entsprechenden Topics empfängt und dazu einen Datenpunkt in Objekte - mqtt.0.topic... anlegt.
Das wird dann per Script überwacht und bearbeitet.Ein direktes Schreiben in einen Datenpunkt eines anderen Adapters habe ich noch nicht gesehen.
Wie du das am kürzesten in Blockly umsetzt, muss du testen.
Es lassen sich in einemTrigger ja mehrere Datenpunkte auf Änderung/Aktualisierung überwachen... -
Okay. Auf jeden Fall Danke schon mal für die Antwort.
Und ja, die Datenpunkte lassen sich direkt schreiben, also per Nachricht zu dem Topic "zigbee/0/BulbId/Parameter". Im MQTT Ordner landen sie dann nur, wenn BulbID oder Parameter unter /zigbee/0/* nicht existieren. Nur, obwohl die Werte dort korrekt aktualisiert werden, übermittelt sie der MQTT Adapter dann nicht ans Gerät. Aber wie gesagt, ich denke das hatte schon mal funktioniert...
-
Da fällt mir nur noch "Qualitätscode" ein.
Ist die Änderung durch MQTT eventuell nicht mik "ok" bestätigt? -
Ich denke, das müsste in den Einstellungen des MQTT-Adapters unter "Sende auch Zustände (ack=true)" einstellbar sein.
-
Das hatte ich auch vermutet, dass es über diese Option gesteuert wird. Das Aktivieren hat aber leider bei mir keine Funktion. Oder zumindest werden die Zustände auch wenn es aktiviert ist nicht an die Lampen gesendet...
-
Hast du mal versucht, das topic über einen anderen Client (evtl mqttFX?) zu senden?
Die Einstellung im mqtt-Adapter scheint sich wohl nur auf das Senden des ack an den mqtt-Broker auszuwirken.
-
Ich habe es jetzt unter Windows mit MQTTBox probiert. Das selbe Ergebnis: Zustand ändert sich im ioBroker, die Lampe bleibt unverändert.
-
Man kann auch in Objekte außerhalb von mqtt.0 publishen. Z.B nach alexa2.0/Echo-Devices/XXXX/Commands/speak
Die payload kommt an, wird angezeigt aber eben nicht ausgelöst. Scheint also ein generelles Verhalten zu sein. -
Ich habe es jetzt hinbekommen, die Zustände auf den Bulbs direkt zu setzen. Die Option "Unterschiedliche Namen für setzen und lesen" muss zusätzlich zu "Sende auch Zustände" aktiviert sein. Danach muss der Parameter unter dem Topic
"/zigbee/0/BulbId/ParameterId/set"
gesetzt werden.