ich habe einen ESP8266 per MQTT an IPS angebunden. Instanzen wurde sauber angelegt und die Nachrichten werden auch im IPS empfangen. Allerdings bekomme ich nichts rausgeschickt. Schon das Debug-Protokoll des Server-Sockets zeigt, dass keine ordentliche Nachricht rausgeht. Ich bin zwar auf der 5.3 beta, aber ich denke, es ist kein beta-Problem, sondern eher ein User-Error. Ich habe mal ein paar Snapshots angehängt, um das zu zeigen, was angelegt wurde und wie ich versuche, was an den ESP8266 zu schicken.
nein - ist keine gekaufte ESP8266-Einheit. Meine Shellies 2.5 und Gosund 112 habe ich mit Tasmota geflasched, aber diese Einheiten möchte ich für spezielle Funktionen programmieren und ich gehe mal davon aus, dass die über MQTT im IPS auch funktionieren müsste.
In die eine Richtung funktioniert ja mal schon
Bei RequestAction muss die ID der Variable und nicht der Instanz angegeben werden.
Leider kann man die ObjektIDs nicht sehen, hast du beim Screenshot abgeschnitten.
Michael
hm - mit dem RequestAction ändere ich doch die Variable und dann würde ich erwarten, dass der MQTT-Broker diese Änderung an den Client schickt, oder liege ich da falsch ? Im Profil ist nur ein Standardscript Power1 (MQTT-Doppelschalter) hinterlegt und das kam über den MQTT-Konfigurator.
Bei dem Tasmota-Flash setzt man eine Boolean-Variable POWER1 (also nicht die Original-Variable) - was da genau passiert, weiß ich nicht …
Falsch.
Mit RequestAction sagst du der Variable das du gerne die hinterlegte Aktion ausführen möchtest mit Wert x.
Du änderst damit nicht direkt den Wert.
Das wäre korrekt.
Und wenn dann das Gerät Antwortet wird normalerweise die Variable auf den neuen Wert gesetzt.
Warum bei dir nur die Variable den neuen Wert annimmt und kein Befehl rausgeht, verstehe ich aber auch nicht.
Michael
Hi,
Geht es denn wenn du das Schalten über ein Ereignis direkt erledigts und nicht durch ein script? Das Problem hab ich nämlich mit dem shelly2.5 und POWER1 … ich benomme beim Ausführen eines Scripts mit requestaction die Fehlermeldung das die Var. ReadOnly sei. Beim Schalten via Ereignis geht es aber…
nur wenn ich SetValue benutze - requestaction funktioniert, da ich aber mit TASMOTA arbeite, greife ich nur auf TASMOTA-Variable zu, wenn ich etwas ändern will
Ich möchte nochmal auf das ursprüngliche Problem aufmerksam machen, weswegen dieser Thread entstanden ist. Es wäre wünschenswert, wenn sich tatsächlich einer der IPS/MQTT-Spezialisten damit befassen könnte.
Die Tatsache, dass der Konfigurator die Variablen angelegt hat, zeigt ja, dass der ESP8266 ordentliche MQTT-Nachrichten verschickt und dann sollte es doch auch möglich sein, dass man eine Nachricht wieder zurückschickt und gem. Beschreibung müsste das durch RequestAction funktionieren. Was ich beobachten konnte, dass der Client immer wieder mal x"C0 00" schickt und darauf ein Transmit mit x"D0 00" folgt. Nur auf RequestAction tut sich nichts.
Das habe ich nie probiert, und versuche es mal nachzustellen.
So, habe mal probiert mit den internen MQTT Device, schalten geht über die VAR „cmnd/tasmota118/POWER1“, Rückmeldung steht in der VAR „stat/tasmota118/POWER1“
[ol]
[li]Instanzen nochmal löschen[/li][li]Instanzen wieder anlegen[/li][li]Debug vom MQTT Server öffnen (Nicht vom Server Socket)[/li][li]Variable mit RequestAction setzen[/li][li]Das Debug posten[/li][/ol]
Dann schauen wir mal weiter.
C0 00 ist der Ping der automatisch versendet wird.