MVO hat geschrieben: ↑17. Jan 2022 11:28
JC00P3R hat geschrieben: ↑22. Dez 2021 10:05
Ich habe mein Shelly Plus 1 über MQTT am laufen. Auch das schalten klappt nach etwas Startschwierigkeiten.
Das ist super interessant. Mit welchem Beta-Stand der Firmware hast Du es hinbekommen?
Ich habe die neueste Firmware 0.9.2 drauf und gestern den Mosquitto mal auf DEBUG-Log gestellt und es wirkte so, als würde der Shelly Plus1 überhaupt keine Veränderungen seinen Status über MQTT senden.
Magst Du ggf. auch Deinen Konfiguration des Shelly hier zeigen?
Der Shelly sendet bei mir seine Status-Infos wenn du z.b. einen Schalter sendet, as of Version 0.9.2 der Firmware, auf einem MQTT-Topic "<shelly-name>/events/rpc". Der Toggle "RPC status notifications over MQTT" des Shelly ist an.
Beim manuellen Bestätigen von Schaltern kommt bei mir da zwei separate Veröffentlichungen.
Die eine sieht so aus:
Code: Alles auswählen
{
"src": "<shelly-name>",
"dst": "<shelly-name>/events",
"method": "NotifyStatus",
"params": {
"ts": <number>,
"input:0": {
"id": 0,
"state": <boolean>
}
}
}
habe mit dieser konfiguriert. Das Item in openHAB updatet seitdem korrekt. Wenn's licht mit Schalter ausgemacht wird, geht das Item aus, und umgekehrt.
die andere PUBLISH enthält dieses JSON:
Code: Alles auswählen
{
"src": "shellyplus1-<name>",
"dst": "shellyplus1-<name>/events",
"method": "NotifyStatus",
"params": {
"ts": <number>,
"switch:0": {
"id": 0,
"output": <boolean>,
"source": "switch"
}
}
}
Wenn der Shelly rebootet oder ähnliches passiert auf dem Topic auch eine Menge Aktivität.
---
Habe eine gesamte Konfiguration mit der ich Erfolg habe hier mal beschrieben (auf Englisch).
https://community.openhab.org/t/shelly- ... s/129109/7
Der Trick war am Ende, sich Zugang zu den Aktivitäten auf dem MQTT-Broker zu verschaffen, um zu sehen, auf welchen Topics der Shelly "zuhört", auf welchen Topics er wann was postet, und die die JSON-Inhalte aussehen. (Erreicht dadurch, Mosquoito auf debug-log all zu setzen, und dann mit mosquitto_sub interessante Topics abzuhören.) Dann war es auch möglich, die Konfiguration des MQTT-Bindings entsprechend aufzusetzen.
Abfrage des Online-Status geht auch. Das ist das Topic "<shelly-name>/online". Da kommt einmal ein PUBLISH "true" wenn der Shelly online gekommen ist, und eine "Last Will Message" mit Inhalt "false" wenn der Broker feststellt, das sich der Shelly unerwartet abgemeldet hat.
Ich will noch mal den gesamten Prozess von Aufsetzen des MQTT-Bindings forwärts öffentlich dokumentieren, aber das braucht noch etwas. Das verlinkte oben ist auf jeden Fall genug, um den Shelly zu verbinden, wenn man den MQTT-Broker und das Binding erfolgreich aufgesetzt und den Shelly dazu gebracht hat, sich mit dem Broker zu verbinden - as of versiom 0.9.2. Wer weiß was mit 0.9.3 passiert...
