NEWS
MQTT Status Triggern?
-
Hi
habe einige ESP8266 über MQTT angebunden im System.
Nun möchte ich gerne bestimmte Aktionen ausführen, wenn sich der Status durch zB Störungen ändert.Bisher nutze ich für den DP Switch sehr gerne "falls größer/kleiner als vorheriger" um definiert zu triggern. Wie nutzt man dies für den Status der MQTT Verbindung die Connected oder Disconnected ist, oder gibt es noch mehr Stati? Muß ich diese konvertieren oder gibt direkte Triggerblöcke dafür?
Vielen Dank!
-
@Pete0815 In dem triggert man auf Änderung bei dem Wert: mqtt.0.ESP_Gefrierschrank.status und fragt dann ab, welcher Wert gesetzt ist.
In Abhängigkeit vom gesetzten Wert kann man dann andere Wert setzen: -
Moin Moin,
so ganz versteh ich das hier nicht. Nehmt mich mal mit.
LWT kann doch nur von einem "Online" Gerät gesendet werden.
Quasi eine gewollter Shutdown.
Wenn man dem den Stecker zieht kommt kein LWT. Oder ?
Reagiert das Gerät auf Ping ? Dann selbigen Adapter.
So mache ich das . -
@Blechsoldat Normalerweise überprüft der mqtt-Adapter die Connection und setzt den alive oder Connected Status selbst! Je nach Gerät unterschiedlich. z.B. Sonoff
-
@MCU
Ah, Danke. Das Gerät muss also beim Broker das(den?) LWT hinterlegen ?
Und woher weiß der Broker dann dann, wenn das Offline ist ?
Wird bei LWT eine "Mindestwartezeit" mitgegeben ? -
@Blechsoldat Du hast Recht das geht nur beim Sonoff-Adapter, dort wird nach einer intern gesetzten Zeit der Alive-Zustand auf false gesetzt. Ist beim MQTT nicht so. Dort muss man eine Abfrage nach letztmaligen ändern des LWT-Status abfragen, falls der regelmäßig gesetzt wird oder halt so wie du es vorgeschlagen hast mit ping die ip abfragen..
-
@MCU Danke Dir!
ok, also connected oder Disconnected steht nicht "intern" irgendwie für 0,1,2 sondern sind wirklich Strings welche auszuwerten sind.
Danke Dir auch für das Beispiel und so werde ich es wohl umsetzen.Ich hatte nur die Frage auch im Kopf, da es für mich nach einer "Standardfunktion" aussah ob man die nicht auch generisch immer prüfend nutzen kann/sollte.
Wenn ich jetzt etliche MQTT Geräte habe und alle haben LWT Stati, könnte man sich ja ein Art Konverterblock bauen aber soviele Geräte habe ich nun auch nicht ....
-
@Pete0815 Wenn man mehrere mit LWT hat , kann man mit $Selektor arbeiten.
-
@MCU super Danke. Noch mehr gelernt
-
Hallo zusammen,
hoffe, meine Frage ist nicht "off topic" ...
Nehme auch gerade das LWT-Feature des MQTT adapters (Version 2.3.4) in Betrieb.
Funktioniert auch soweit, aber es dauert ziemlich lange, bis der MQTT broker nach Abschalten eines MQTT clients die LWT-Message ("offline") an die anderen Clients weiterschickt (so ca. 30 ... 100 sek).
Das ist mir viel zu lange.
Deshalb suche ich nach einer Möglichkeit, diese Zeit auf z.B. 5 ... 10 sek zu verkürzen, habe aber bis jetzt nix gefunden - weder in der MQTT Oberfläche noch im Forum.
Gibt's so eine Einstellung nicht?
Wovon hängt denn diese Wartezeit ab ?Grüße,
WillyIoBrok
-
Oh, sorry .. habe gerade erst gesehen, daß ich hier in der Rubrik "Blockly" bin ... damint mache ich gar nix, da gehört mein Beitrag nicht hin.
Werde einen eigenen Post eröffnen, sorry.