Shelly via MQTT: nie offline, obwohl Gerät nicht erreichbar

Begonnen von gestein, 09 Februar 2021, 14:53:13

Vorheriges Thema - Nächstes Thema

gestein

Hallo,

ich habe da einen anscheinend kaputten Shelly, der über MQTT (als MQTT2_DEVICE) in fhem eingebunden ist.
Noch ist der in der Wand eingebaut, weil ich momentan keine Zeit zum Ausbauen habe.
Der Shelly meldet sich nicht mehr auf ping und http, aber trotzdem erscheint er in fhem als "online" - was ich allerdings nicht verstehe.
Manuell schaltet ich ihn noch richtig.
Wenn ich ihm die Stromversorgung abdrehe, bootet er nicht neu bzw. kommt wieder das gleiche Verhalten.
Bis jetzt wurden alle kaputten Shellys ohne Probleme ersetzt, das wäre also nicht das Thema.
Die Frage für mich ist, warum wird der Shelly in fhem nicht als offline erkannt?

Im log kommen immer wieder die folgenden Einträge:
2021.02.08 14:12:31.787 4: MQTT2_DEVICE_Parse: MQTT2_shelly1pm_D8BFC019B4FF shellies/announce => { $EVENT =~ m,..id...shelly1pm-D8BFC019B4FF...mac.*, ? json2nameValue($EVENT) : return }
2021.02.08 14:15:49.778 4: MQTT2_DEVICE_Parse: MQTT2_shelly1pm_D8BFC019B4FF shellies/announce => { $EVENT =~ m,..id...shelly1pm-D8BFC019B4FF...mac.*, ? json2nameValue($EVENT) : return }
2021.02.08 14:18:30.427 4: MQTT2_DEVICE_Parse: MQTT2_shelly1pm_D8BFC019B4FF shellies/announce => { $EVENT =~ m,..id...shelly1pm-D8BFC019B4FF...mac.*, ? json2nameValue($EVENT) : return }
2021.02.08 14:21:37.908 4: MQTT2_DEVICE_Parse: MQTT2_shelly1pm_D8BFC019B4FF shellies/announce => { $EVENT =~ m,..id...shelly1pm-D8BFC019B4FF...mac.*, ? json2nameValue($EVENT) : return }
2021.02.08 14:23:43.042 4: MQTT2_DEVICE_Parse: MQTT2_shelly1pm_D8BFC019B4FF shellies/announce => { $EVENT =~ m,..id...shelly1pm-D8BFC019B4FF...mac.*, ? json2nameValue($EVENT) : return }
2021.02.08 14:27:40.664 4: MQTT2_DEVICE_Parse: MQTT2_shelly1pm_D8BFC019B4FF shellies/announce => { $EVENT =~ m,..id...shelly1pm-D8BFC019B4FF...mac.*, ? json2nameValue($EVENT) : return }
2021.02.08 14:29:40.171 4: MQTT2_DEVICE_Parse: MQTT2_shelly1pm_D8BFC019B4FF shellies/announce => { $EVENT =~ m,..id...shelly1pm-D8BFC019B4FF...mac.*, ? json2nameValue($EVENT) : return }
2021.02.08 14:33:01.356 4: MQTT2_DEVICE_Parse: MQTT2_shelly1pm_D8BFC019B4FF shellies/announce => { $EVENT =~ m,..id...shelly1pm-D8BFC019B4FF...mac.*, ? json2nameValue($EVENT) : return }


Sonst nichts - auch keine passenden Einträge vom MQTT-Server (MQTT2_SERVER), obwohl der auch auf "verbose 5" steht.
Für alles mögliche kommen Einträge, nur keine zur MAC-Adresse des Devices oder dessen Name oder der IP.

Weiß jemand, woher diese Einträge kommen?
Ist das das MQTT-Device selbst, ohne Trigger von außen?

Um ehrlich zu sein, verstehe ich ja schon nicht, was das genau macht.
Das "=~ m" steht für eine Match-Regex, aber dann stehe ich an ;)

Wenn ich einen Befehl absetze (z.B. announce), dann kommen nur die folgenden Einträge:
2021.02.08 14:56:35.227 3: MQTT2_DEVICE set MQTT2_shelly1pm_D8BFC019B4FF x_mqttcom announce
2021.02.08 14:56:35.227 5: MQTT2_FHEM_Server: PUBLISH shellies/shelly1pm-D8BFC019B4FF/command announce
2021.02.08 14:57:11.214 4: MQTT2_DEVICE_Parse: MQTT2_shelly1pm_D8BFC019B4FF shellies/announce => { $EVENT =~ m,..id...shelly1pm-D8BFC019B4FF...mac.*, ? json2nameValue($EVENT) : return }

Sollte es da nicht eine Art "timeout" für das "PUBLISH" des Servers geben? 

Kennt sich da jemand aus?

Danke im Voraus
liebe Grüße
Gerhard

Beta-User

Die parse-Einträge kommen wohl daher, dass alle Shelly von allen Shelly diese "announce"-Meldung bekommen (weiß immer noch nicht, ob das zielführend ist).

Ansonsten ist es so: Wenn der LWT-Mechanismus nicht sauber initiiert wird, funktioniert der auch nicht, und damit bleibt das Ding halt im letzten bekannten Zustand...
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

gestein

Ist das mit dem "announce" an alle ein Verhalten des MQTT2_SERVER?

Die Shelly liefern folgende LWT-Meldungen:
2021.02.09 16:11:18.559 4:   MQTT2_FHEM_Server_192.168.0.60_63786 cid:shelly1pm-8CAAB5056F65 CONNECT V:4 keepAlive:60 LWT:shellies/shelly1pm-8CAAB5056F65/online:false

Da dürfte sich der MQTT2_SERVER mal "verschluckt" haben und seit dem kommt natürlich kein LWT mehr von meinem kaputten Shelly.

Danke für die Erklärung.
Damit haben sich die Geister-Announces erledigt.

lg, Gerhard

Beta-User

Nein, das ist nichts, was vom M2S her kommt, sondern das ist ein "Standardabbonnement" in der readingList (kommend aus attrTemplate's), von dem ich nicht wirklich überzeugt bin, dass es (noch) Sinn macht...
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors