NEWS
[gelöst] Tasmota MQTT Alias Result
-
Hallo,
ich versuche gerade meine ganzen Tasmota Geräte über den MQTT-Adapter einzubinden.
Dafür lege ich im Alias Adapter die benötigten Datenpunkte an und verweise auf die Objekte im MQTT Ordner.Das senden bzw. empfangen funktioniert auch. Nur sobald ich ein anderes Kommando absetze das eine anderes RESULT Objekt zurück sendet wird mir im Alias Datenpunkt (null) angezeigt.
Beispiel:
Im Alias ist folgender Datenpunkt als Zahl eingerichtet:{ "alias": { "id": { "read": "mqtt.0.tasmota.ab.light.LEDPoolrand.stat.RESULT", "write": "mqtt.0.tasmota.ab.light.LEDPoolrand.cmnd.Dimmer" }, "read": "JSON.parse(val).Dimmer" } }
Wird der Datenpunkt gesetzt, sendet der MQTT Adapter das Kommando.
Im stat/RESULT erhalte ich folgenden Payload:{ "POWER": "ON", "Dimmer": 47, "Color": "780917", "HSBColor": "353,93,47", "Channel": [ 47, 3, 9 ] }
Damit wird auch die 47 als Value im Alias Datenpunkt angezeigt.
Soweit so gut.Setze ich jetzt aber das Kommando: POWER On ab, erhalte ich
folgenden Payload im stat/RESULT:{ "POWER": "ON" }
Somit zeigt der Alias Adapter (null) an, da die Variable Dimmer nicht vorhanden ist.
Frage:
Was für eine Möglichkeit mit dem Alias hab ich, das hier die 47 nicht durch ein (null) ersetzt wird?Hoffe ich hab das einigermaßen verständlich erklären können.
-
@mrg sagte: Was für eine Möglichkeit mit dem Alias hab ich, das hier die 47 nicht durch ein (null) ersetzt wird?
Das kann ein Alias nicht leisten. Dafür benötigt man ein Skript.
-
@paul53 sagte in Tasmota MQTT Alias Result:
Dafür benötigt man ein Skript.
Das habe ich mir schon gedacht.
Danke. -
@paul53 könnt ihr mir bitte auch helfen? Ich habe Rolladensteuerung mit Tasmota geflasht:
- in MQTT sehe ich die Geräte und auch eine Gruppe "cmnd"
Die Steuerung kennt Kommandos wie "ShutterOpen1" "ShutterClose1" oder "ShutterPosition1 100".
Ich kann aber nicht reinschreiben. Auch nicht mit Script.Tasmota meldet in der Konsole nur:
23:03:21.181 MQT: stat/tasmota_AAE015/RESULT = {"Command":"Unknown"}über HTTP geht das.
-
@papa_aus_rastatt Du kannst unterhalb von
cmnd
- also auf der gleichen Ebene wie derPOWER
jeden beliebigen Tasmota-Konsolenbefehl anlegen und nutzen.Je nachdem wie deine MQTT-Konfiguration aussieht kannst du den Datenpunkt einfach anlegen und dann nutzen.
Teste doch mal.Falls das nicht geht nehme ein Programm wie den MQTT-Exlorer, verbinde den mit den MQTT Broker, starte dein Tasmota Gerät durch und lege den Datenpunkt dann im MQTT-Explorer an - der taucht dann unmittelbar auch im ioBroker auf und ist nutzbar.
- Lösung die bisher immer funktionierte ist das in einem Skript per
SendTo
zu machen.
- Lösung die bisher immer funktionierte ist das in einem Skript per
-
@bananajoe verstehe ich das richtig? ich muss für jedenbefehl, welchen ich nutzen will in mqtt einen datenpunkt dazu anlegen? ich kann nicht wie in der Konsole ein command senden, welches dann ausgeführt wird?
und was meintest du mit SendTo?
-
@papa_aus_rastatt sagte in [gelöst] Tasmota MQTT Alias Result:
erstehe ich das richtig? ich muss für jedenbefehl, welchen ich nutzen will in mqtt einen datenpunkt dazu anlegen?
Ja, genau, das ist richtig. Aber ja nur einmal, danach kannst du den ganz normal nutzen.
SendTo:
Per Blockly: siehe https://forum.iobroker.net/post/771340
Per JavaScript: siehe https://forum.iobroker.net/post/958634Funktioniert nicht mit dem "MQTT-Client-Adapter" aber mit dem "MQTT-Adapter" im Server/Broker- und im Client-Modus
-
@bananajoe vielen Dank für die Unterstützung, ich habe es hinbekommen, verwende jetzt aber die Funktion "Steuere" statt "SendTo", weil der MQTT-Adapter mehr Speicher benötigt als der Sonoff Adapter und der ist auf meinem Raspberry Pi nun mal knapp.
SendTo scheint nicht mit dem Sonoff Adapter zu funktionieren.