[Modul] Shelly

Das Online / Offline funktioniert bei der 5.5 gar nicht. Das ging aber bei der 5.4 schon nicht richtig.
Man kann die Erreichbar-Variable händisch auf true setzen. Geht der Shelly aber offline, so bleibt die Variable in true.
Steht die Erreichbar Variable in true und der Shelly wird neu gestartet, so wechselt diese unter Umständen in false und bleibt auch dort.
Das habe ich bei allen Shellys. Manche sind online, manche sind offline. Immer unterschiedlich, obwohl alle tatsächlich online sind. Mittlerweile gebe ich nichts mehr auf meine ‚Erreichbar Visualisierung‘

Ich such gerade mal wieder, und spiel im Shelly mit „Keep alive“ im Shelly.

Da kommt im Server Socket (Debug) vom MQTT dann das an :
01.11.2020, 17:59:44 | RECEIVED [10.10.10.102:51591] | C0 00

Jetzt müssten man mal schauen, wenn ein Shelly ins IPS keine Daten mehr liefert.

Bis jetzt habe im Server Socket (Debug) vom MQTT nur eine Online Meldung gesehen, und zwar beim Neustart eines Shellys, da werden alle Daten einmal gesendet.

Der MQTT Broker müsste doch zyklisch die Teilnehmer abfragen. Jeder Aktor sendet doch zyklisch alle möglichen Daten, ob es da eine zeitliche Regelmäßigkeit gibt, das weiß ich nicht. Aber man könnte doch anhand der Kommunikation die Erreichbar Variable setzen. Sprich kommt da vom Teilnehmer nichts mehr, dann ist er offline?

Shelly sendet alle 30 Sekunden eine Meldung mit den Daten, wenn man es nicht umgestellt hat. Nur da kommt LWT nicht mit.
Von daher müsste Keep alive mit den Daten ausgewertet werden. Da ist voreingestellt, alle 60 Sekunden.
Wenn die Meldung ausfällt, ist das Modul nicht mehr verbunden.
Im Moment habe ich keine Idee, das auszuwerten.

Ev. könnten Kai und paresy da nochmal suchen.

Moin,
ich möchte nochmal darauf hinweisen, dass das Problem beim MQTT Browser liegen muss.
Meine Produktiv Shellies laufen am externen Mosquitto Broker und haben keinerlei Probleme, alle Variablen werden sauber aktualisiert, auch On- / Offline.
Meine beiden Testshellies laufe mit dem internen MQTT Broker und haben diese Probleme. Stelle ich sie auf den externen um, sind alle Fehler weg. Ich Teste dies nach jedem Symcon oder MQTT Modul update.

Für mich liegt das nicht an Kai seinen Modulen oder an der Firmware von den Shellies, es muss für mich an dem internen Broker liegen, warum läuft es sonst an dem externen problemlos.

Habe es lange nicht mehr am internen getestet, gab es nicht das Problem Online/Offline auch beim Tasmota Modul?

Gruß
Achim

Hi Jungs,

um kurz noch einmal Zusammenzufassen, an welchen 2 Problem ich dran bin:

a) Bei den Shelly’s kommt der „online“ Status nicht an. Er wird vom Splitter/Broker korrekt empfangen - kommt aber im Shelly Modul nicht an. Da suche ich noch, woran es liegt.

b) Wir versenden an die Geräte keine Ping Nachrichten, wodurch ein Verbindungsabbruch erst viel zu spät erkannt wird, um somit das LWT mit dem „online“ Status, der auf false gehen sollte, ebenfalls nicht korrekt ankommt.

Ich bin an beidem dran und melde mich.

paresy

Hallo Paresy,

hast du schon eine Idee und eine zeitliche Vorstellung wann das Problem gelöst ist. Aktuell kann ich meine Shelly quasi nicht gebrauchen oder sind nur sehr unzuverlässig. Da ich an einem ein Wasserregister dran habe, springt mir dauernd die thermische Ablaufsicherung an.
Ich will nur ungern wieder zurück auf die 5.4 wechseln müssen. :mad:

@HMK: Das „online“ Problem und das fehlende KeepAlive (oder LWT) ist zum nächsten Update korrigiert. Das sollte Morgen/Übermorgen kommen.

paresy

Hallo Parsey,

danke, solange kann ich’s noch aushalten.:slight_smile:

Das kann ich ich mir anschauen. Kannst du dazu Debugs posten?

@paresy, vielen Dank für den Fix im MQTT Server.

Sorry, dass ich etwas länger nicht geantwortet habe, ich hatte wenig Zeit und habe weniger gelesen hier.

Grüße,
Kai

Hab dir eine PN geschickt.

Mfg Daniel

Hallo Paresy,

ich habe immer noch Probleme mit einigen Shellys. Die Reachable Variable wird immer noch nicht aktualisiert (Update von gestern).

Aber schlimmer ist, das manche Shellys nach einiger Zeit keine Befehle mehr annehmen. :mad: Es kommen zwar regelmäßige Updates (alle 30s) die die Variablen aktualisieren, aber ein Schaltbefehl wird nicht mehr ausgeführt. Im TCPDUMP sehe ich die Update-Pakete für diesen Shelly aber ein Schaltbefehl taucht nicht mehr auf. Wenn ich dann den Shelly resette geht es wieder eine Zeitlang.

Ich hatte das Problem früher schon mal, aber da konnte ich den Zustand des „Nicht-Schaltens“ abfragen, weil dann keine Variablen mehr aktualisiert wurde. Aber jetzt habe ich keinen Hinweis mehr, außer das der Schaltbefehl nicht mehr funktioniert.
Alles sehr rätselhaft, irgendwas ist hier im MQTT immer noch faul

Hi HMK,

siehst du im Logfile irgendwelche Meldungen, dass die Verbindung abgebrochen ist? Siehst du im Server Socket ein TRANSMITTED, wenn du an den Shelly das Paket sendest?

paresy

Hallo Paresy,

ungefähr eine halbe Stunde nach restart des Shelly war das Problem wieder da. Im Log steht nichts. Dump vom MQTT-Server habe ich angehängt, da kommt kein Transmit, folglich auch nichts im TCPDUMP (außer die Statusmeldungen).
Ich habe dann den Shelly wieder resettet und dann gehts wieder (dazu der Dump und Tcpdump „mit-Funktion“)

192.168.0.211 ist der Shelly
192.168.0.230 ist IP-Symcon

Wenn ich noch was zur Fehleranalyse beisteuern kann, gerne!

211.zip (8.81 KB)

@HMK: Vielen Dank - Hast du im Logfile zufällig auch irgendwelche Meldungen vom Server Socket? Hast du im Server Socket die Option aktiv, dass abgebrochene Verbindungen nicht geloggt werden?

paresy

Hallo Paresy,

ich hatte den ServerLogging nicht aktiviert. Das habe ich jetzt wieder an, aber keine Fehlermeldungen dazu im Log:

Das ist alles was dazu im Log ist. Ab ca. 17:00, nach dem Neustart von IP-Symcon hat wieder alles funktioniert, jetzt grade um 18:31 geht es wieder nicht mehr.(15608 ist die ID vom MQTT-Server)

11/06/20 17:05:22 | 15608 | MESSAGE | Server Socket | Creating…
11/06/20 17:05:22 | 15608 | MESSAGE | Server Socket | Listening for connections…
11/06/20 17:05:36 | 15608 | MESSAGE | Server Socket | Incoming connection…
11/06/20 17:05:37 | 15608 | MESSAGE | Server Socket | Incoming connection…
11/06/20 17:05:38 | 15608 | MESSAGE | Server Socket | Incoming connection…
11/06/20 17:05:38 | 15608 | MESSAGE | Server Socket | Incoming connection…
11/06/20 17:05:39 | 15608 | MESSAGE | Server Socket | Incoming connection…
11/06/20 17:05:39 | 15608 | MESSAGE | Server Socket | Incoming connection…
11/06/20 17:05:40 | 15608 | MESSAGE | Server Socket | Incoming connection…
11/06/20 17:05:40 | 15608 | MESSAGE | Server Socket | Incoming connection…
11/06/20 17:05:40 | 15608 | MESSAGE | Server Socket | Incoming connection…
11/06/20 17:05:41 | 15608 | MESSAGE | Server Socket | Incoming connection…
11/06/20 17:05:42 | 15608 | MESSAGE | Server Socket | Incoming connection…
11/06/20 17:05:42 | 15608 | MESSAGE | Server Socket | Incoming connection…
11/06/20 17:05:42 | 15608 | MESSAGE | Server Socket | Incoming connection…
11/06/20 17:05:43 | 15608 | MESSAGE | Server Socket | Incoming connection…
11/06/20 17:05:44 | 15608 | MESSAGE | Server Socket | Incoming connection…
11/06/20 17:30:04 | 15608 | MESSAGE | Server Socket | Incoming connection…
11/06/20 18:26:00 | 15608 | MESSAGE | Server Socket | Closing connection…
11/06/20 18:26:10 | 15608 | MESSAGE | Server Socket | Incoming connection…

Noch ein Auszug aus dem Log:Ich versuche 5 mal hintereinander (mit Pausen und prüfen) den Status zu ändern (ausschalten), stattdessen kommen nur die 30s Meldungen vom Shelly

11/06/20 18:30:02 | 45420 | DEBUG | VariableManager | [Shellys\Heizraum Teichsteuerung (Fontäne + Bachlauf) Shelly 2.5 Relay\State Bachlauf] = true
11/06/20 18:30:27 | 00000 | CUSTOM | 11/06/20 18:30:27 | 45420 | 1. Versuch von | State Bachlauf | (Test1) | 0/1/1 [L: 27] | RequestAction-und-Test
11/06/20 18:30:28 | 00000 | CUSTOM | 11/06/20 18:30:27 | 45420 | 1. Versuch von | State Bachlauf | (Test1) | 0/1/1 [L: 39] | RequestAction-und-Test
11/06/20 18:30:29 | 00000 | CUSTOM | 11/06/20 18:30:29 | 45420 | 2. Versuch von | State Bachlauf | (Test1) | 0/1/1 [L: 27] | RequestAction-und-Test
11/06/20 18:30:30 | 00000 | CUSTOM | 11/06/20 18:30:29 | 45420 | 2. Versuch von | State Bachlauf | (Test1) | 0/1/1 [L: 39] | RequestAction-und-Test
11/06/20 18:30:31 | 00000 | CUSTOM | 11/06/20 18:30:31 | 45420 | 3. Versuch von | State Bachlauf | (Test1) | 0/1/1 [L: 27] | RequestAction-und-Test
11/06/20 18:30:32 | 00000 | CUSTOM | 11/06/20 18:30:31 | 45420 | 3. Versuch von | State Bachlauf | (Test1) | 0/1/1 [L: 39] | RequestAction-und-Test
11/06/20 18:30:32 | 45420 | DEBUG | VariableManager | [Shellys\Heizraum Teichsteuerung (Fontäne + Bachlauf) Shelly 2.5 Relay\State Bachlauf] = true
11/06/20 18:30:33 | 00000 | CUSTOM | 11/06/20 18:30:33 | 45420 | 4. Versuch von | State Bachlauf | (Test1) | 0/1/1 [L: 27] | RequestAction-und-Test
11/06/20 18:30:34 | 00000 | CUSTOM | 11/06/20 18:30:33 | 45420 | 4. Versuch von | State Bachlauf | (Test1) | 0/1/1 [L: 39] | RequestAction-und-Test
11/06/20 18:30:35 | 00000 | CUSTOM | 11/06/20 18:30:35 | 45420 | 5. Versuch von | State Bachlauf | (Test1) | 0/1/1 [L: 27] | RequestAction-und-Test
11/06/20 18:30:37 | 00000 | CUSTOM | 11/06/20 18:30:35 | 45420 | 5. Versuch von | State Bachlauf | (Test1) | 0/1/1 [L: 39] | RequestAction-und-Test
11/06/20 18:31:02 | 45420 | DEBUG | VariableManager | [Shellys\Heizraum Teichsteuerung (Fontäne + Bachlauf) Shelly 2.5 Relay\State Bachlauf] = true
11/06/20 18:31:32 | 45420 | DEBUG | VariableManager | [Shellys\Heizraum Teichsteuerung (Fontäne + Bachlauf) Shelly 2.5 Relay\State Bachlauf] = true
11/06/20 18:32:02 | 45420 | DEBUG | VariableManager | [Shellys\Heizraum Teichsteuerung (Fontäne + Bachlauf) Shelly 2.5 Relay\State Bachlauf] = true
11/06/20 18:32:32 | 45420 | DEBUG | VariableManager | [Shellys\Heizraum Teichsteuerung (Fontäne + Bachlauf) Shelly 2.5 Relay\State Bachlauf] = true
11/06/20 18:33:02 | 45420 | DEBUG | VariableManager | [Shellys\Heizraum Teichsteuerung (Fontäne + Bachlauf) Shelly 2.5 Relay\State Bachlauf] = true
11/06/20 18:33:32 | 45420 | DEBUG | VariableManager | [Shellys\Heizraum Teichsteuerung (Fontäne + Bachlauf) Shelly 2.5 Relay\State Bachlauf] = true
11/06/20 18:34:02 | 45420 | DEBUG | VariableManager | [Shellys\Heizraum Teichsteuerung (Fontäne + Bachlauf) Shelly 2.5 Relay\State Bachlauf] = true
11/06/20 18:34:32 | 45420 | DEBUG | VariableManager | [Shellys\Heizraum Teichsteuerung (Fontäne + Bachlauf) Shelly 2.5 Relay\State Bachlauf] = true
11/06/20 18:35:02 | 45420 | DEBUG | VariableManager | [Shellys\Heizraum Teichsteuerung (Fontäne + Bachlauf) Shelly 2.5 Relay\State Bachlauf] = true
11/06/20 18:35:32 | 45420 | DEBUG | VariableManager | [Shellys\Heizraum Teichsteuerung (Fontäne + Bachlauf) Shelly 2.5 Relay\State Bachlauf] = true
11/06/20 18:36:02 | 45420 | DEBUG | VariableManager | [Shellys\Heizraum Teichsteuerung (Fontäne + Bachlauf) Shelly 2.5 Relay\State Bachlauf] = true
11/06/20 18:36:32 | 45420 | DEBUG | VariableManager | [Shellys\Heizraum Teichsteuerung (Fontäne + Bachlauf) Shelly 2.5 Relay\State Bachlauf] = true
11/06/20 18:37:02 | 45420 | DEBUG | VariableManager | [Shellys\Heizraum Teichsteuerung (Fontäne + Bachlauf) Shelly 2.5 Relay\State Bachlauf] = true
11/06/20 18:37:32 | 45420 | DEBUG | VariableManager | [Shellys\Heizraum Teichsteuerung (Fontäne + Bachlauf) Shelly 2.5 Relay\State Bachlauf] = true
11/06/20 18:38:02 | 45420 | DEBUG | VariableManager | [Shellys\Heizraum Teichsteuerung (Fontäne + Bachlauf) Shelly 2.5 Relay\State Bachlauf] = true
11/06/20 18:38:32 | 45420 | DEBUG | VariableManager | [Shellys\Heizraum Teichsteuerung (Fontäne + Bachlauf) Shelly 2.5 Relay\State Bachlauf] = true

PS: der Schalter, das abgebrochene Verbindungen nicht geloggt werden ist aus.

Hier nochmal das Debug vom RGBW2

TXT: 04.11.2020, 17:25:45 |     ShlleyRGBW2 Mode | Color
HEX: 04.11.2020, 17:25:45 |     ShlleyRGBW2 Mode | 43 6F 6C 6F 72 
TXT: 04.11.2020, 17:25:45 |                 JSON | {"DataID":"{7F7632D9-FA40-4F38-8DEA-C83CD4325A32}","PacketType":3,"QualityOfService":0,"Retain":false,"Topic":"shellies/shellyrgbw2-6CEA3B/color/0/overpower","Payload":"0"}
HEX: 04.11.2020, 17:25:45 |                 JSON | 7B 22 44 61 74 61 49 44 22 3A 22 7B 37 46 37 36 33 32 44 39 2D 46 41 34 30 2D 34 46 33 38 2D 38 44 45 41 2D 43 38 33 43 44 34 33 32 35 41 33 32 7D 22 2C 22 50 61 63 6B 65 74 54 79 70 65 22 3A 33 2C 22 51 75 61 6C 69 74 79 4F 66 53 65 72 76 69 63 65 22 3A 30 2C 22 52 65 74 61 69 6E 22 3A 66 61 6C 73 65 2C 22 54 6F 70 69 63 22 3A 22 73 68 65 6C 6C 69 65 73 2F 73 68 65 6C 6C 79 72 67 62 77 32 2D 36 43 45 41 33 42 2F 63 6F 6C 6F 72 2F 30 2F 6F 76 65 72 70 6F 77 65 72 22 2C 22 50 61 79 6C 6F 61 64 22 3A 22 30 22 7D 
TXT: 04.11.2020, 17:25:45 |           MQTT Topic | shellies/shellyrgbw2-6CEA3B/color/0/overpower
HEX: 04.11.2020, 17:25:45 |           MQTT Topic | 73 68 65 6C 6C 69 65 73 2F 73 68 65 6C 6C 79 72 67 62 77 32 2D 36 43 45 41 33 42 2F 63 6F 6C 6F 72 2F 30 2F 6F 76 65 72 70 6F 77 65 72 
TXT: 04.11.2020, 17:25:45 |  ShellyRGBW2 Payload | 0
HEX: 04.11.2020, 17:25:45 |  ShellyRGBW2 Payload | 30 
TXT: 04.11.2020, 17:25:45 |  ShellyRGBW2 Channel | 0
HEX: 04.11.2020, 17:25:45 |  ShellyRGBW2 Channel | 30

Mfg Daniel

@DanielW, dort sehe ich leider kein Input und Output.

Grüße,
Kai

Hilft dir das weiter?

Hab einen größen Screenshot vom Debug gemacht und ein Screenshot vom Objektbaum wo auch ein Shelly 1 mit der Funktion „Eingang“ zu sehen ist.

Screenshot Objektbaum.jpg

Mfg Daniel

Teste mal die Beta Version, dort sollte es nun vorhanden sein.

Grüße,
Kai