Ich habe bei mir zu Hause u.a. eine Reihe von Shelly-Geräten (Shelly 1, Shelly 2 und Shelly Plug S) im Einsatz, die alle ausschließlich über MQTT gesteuert werden. Das funktioniert mit fast allen Shellys ohne Probleme, nur zwei der Shellies (erste Generation, Produktionsjahr 2018) verhalten sich (vermutlich schon immer) seltsam, indem sie sich mitten in der Nacht automatisch ein- oder ausschalten! Ich vermute mittlerweile einen Hardwaredefekt bei diesen 2 Geräten?
Verhalten
- Ein Shelly 1 schaltet von Zeit zu Zeit von alleine aus (aber noch nie automatisch ein)
- Ein Shelly 2 schaltet einen Kanal automatisch ein (aber nie automatisch aus) und dies auch nur auf Kanal #1, nie auf Kanal #2
Das Schaltverhalten ist auch unabhängig vom konfigurierten "Power On Default Mode" der Geräte, also egal ob ich ON, OFF oder Restore Last Mode konfigurieren, der eine Shelly geht automatisch aus, der andere an.
Konfiguration
- Die Firmware beider Geräte ist aktuell
- Gesteuert wird nur über MQTT
- Cloud ist nicht aktiv
- Es sind keine Timer in den Geräten selbst gesetzt
- Keine Steuerung oder Zugriff über HTTP
- Betrieb nur im lokalen Netzwerk
- Frontend und MQTT sind passwortgesichert
- Der Shelly 2 in der Küche ist nur 50cm überhalb der WLAN-Repeaters
- Der Shelly 1 im Flur ist ca. 3m vom Repeater entfernt
Die kompletten Settings der beiden Shellys habe ich mal als Dateiangang an diesen Post drangehängt.
Fehlereingrenzungen bisher
Wenn MQTT ausgeschaltet ist, tritt das Verhalten nicht auf!
Ursprünglich hatte ich vermutet, dass vielleicht ja eine MQTT-Nachricht fehlerhafter Weise gesendet wird (von einem Timer in NodeRed), aber selbst wenn ich in NodeRed jegliche MQTT-Kontrolle für diese Geräte entferne und die Geräte nur mit dem MQTT-Server (Mosquitto) verbunden sind, tritt dieses Verhalten auf.
Dann hatte ich vermutet, dass es vielleicht etwas mit Retained Messages zu tun haben könnte, aber das ist im MQTT Broker nicht aktiviert und alle Shellys sind auf QOS 0 eingestellt, so dass keine Nachrichten mehrfach gesendet bzw. nachversendet werden.
Um das Problem weiter einzugrezen, protokolliere ich nun die Topics announce, command und input für die beiden Geräte in eine Datei.
Dabei fällt schon mal auf, dass (wie erwartet) keine /relay/0/command Message zu den Geräten gesendet wurde, wenn diese von alleine schalten!
Interessanter Weise schalten beide Shellys zeitgleich und ich erhalte nur eine Message zum Relaiszustand.
Bei ersten automatischen Schalten gestern Abend hatten beide Geräte auch eine announce-Message schickt, was auf einen Reconnect hindeutet, oder?
12/14/2021 21:13:53 Shelly Kitchen: shellies/shellyswitch-55967C/announce: {"_msgid":"2439dc8a07f19c98","_topic":"shellies/shellyswitch-55967C/announce","payload":"{\"id\":\"shellyswitch-55967C\",\"model\":\"SHSW-21\",\"mac\":\"CC50E355967C\",\"ip\":\"192.168.178.31\",\"new_fw\":false,\"fw_ver\":\"20211109-125129/v1.11.7-g682a0db\",\"mode\":\"relay\"}","qos":0,"retain":false,"topic":"shellies/shellyswitch-55967C/announce"}
12/14/2021 21:13:53 Shelly Frontdoor: shellies/shelly1-4FFC37/announce: {"_msgid":"01ca12dcadc81706","_topic":"shellies/shelly1-4FFC37/announce","payload":"{\"id\":\"shelly1-4FFC37\",\"model\":\"SHSW-1\",\"mac\":\"CC50E34FFC37\",\"ip\":\"192.168.178.35\",\"new_fw\":false,\"fw_ver\":\"20211109-124958/v1.11.7-g682a0db\"}","qos":0,"retain":false,"topic":"shellies/shelly1-4FFC37/announce"}
14.12.2021 21:13:53 Shelly Kitchen: shellies/shellyswitch-55967C/relay/0: {"_msgid":"c8ea34ef8e6d8972","_topic":"shellies/shellyswitch-55967C/relay/0","payload":"on","qos":0,"retain":false,"topic":"shellies/shellyswitch-55967C/relay/0"}
14.12.2021 21:13:53 Shelly Frontdoor: shellies/shelly1-4FFC37/relay/0: {"_msgid":"4d25495a9532f8b0","_topic":"shellies/shelly1-4FFC37/relay/0","payload":"off","qos":0,"retain":false,"topic":"shellies/shelly1-4FFC37/relay/0"}
Heute Morgen hatten bei beiden Shellys dann noch mal automatisch geschaltet, diesmal aber ohne eine announce-Message zu senden:
15.12.2021 03:14:06 Shelly Kitchen: shellies/shellyswitch-55967C/relay/0: {"_msgid":"2f6a5367e64125d4","_topic":"shellies/shellyswitch-55967C/relay/0","payload":"on","qos":0,"retain":false,"topic":"shellies/shellyswitch-55967C/relay/0"}
15.12.2021 03:14:06 Shelly Frontdoor: shellies/shelly1-4FFC37/relay/0: {"_msgid":"0b16c26d77d91e53","_topic":"shellies/shelly1-4FFC37/relay/0","payload":"off","qos":0,"retain":false,"topic":"shellies/shelly1-4FFC37/relay/0"}
An den Min- und Max MQTT Reconnect Timeouts oder an der Keep alive time habe ich in den Shellys noch nie etwas verstellt!
Komisch ist auch, dass bei dem Shelly 2 immer nur der eine Kanal betroffen ist und noch die das Licht auf dem anderen Kanal von alleine an- oder ausgegangen ist!?
Vielleicht hat ja von euch noch einer eine Idee was das Verhalten erklären könnte?
Ein ähnliches Verhalten wird bei einem Shelly Pro 4 übrigens auch in folgenden Post beschrieben:
ShellyPro4PM Schaltet sich aus