Support-Thread Modul 36_Shelly.pm

Begonnen von Prof. Dr. Peter Henning, 03 Februar 2021, 08:03:09

Vorheriges Thema - Nächstes Thema

Starkstrombastler

Zitat von: piet_pit am 11 Februar 2026, 14:28:03Es kommt die Fehlermeldung "not enough parameter".
Der kleine Unterschied zwischen pct und ct (für colour-temperature) hat hier für den Fehler gesorgt. Ist im aktuellen Update gefixt.
IPC\Ubuntu + Fhem, 1wire, Shellies, Siemens Logo!, Z-Wave, PhilipsTV, Vu+duo2, KM200

xypzo

#1291
Can someone explain the following:
I bought four Shelly Dimmers gen3.
One is working flawless with the shelly module.
The other 3 I can't send PCT info to, but dimming can be done with the DIM set command...
They all have the same firmware. Also, the 3 others cant be reached with MQTT2 in FHEM, it reads but can't send any commands.

EDIT: I found the solution, when defined the dimmer, set model to shellyprodm1pm

Elektron

Hallo zusammen,

Ich habe seit kurz nach Weihnachten das Problem, dass die Zustände eines Shelly1MiniG3 nicht mehr regelmäßig in FHEM aktualisiert werden. Ich nutze die Shelly interne automation um die Zirkulationspumpe regelmäßig einzuschalten, zur Überwachung schreibe ich das in FHEM mit.
Seit dem Zeitpunkt bricht das immer wieder ab, wenn ich manuell die Daten hole, geht es weiter...
(Am WLAN liegt es wohl nicht.)

Ob ich das Modul aktualisiert habe oder es eine Änderung in Shelly war kann ich nicht sagen.
Ich habe im Shelly die automatischen Updates eingeschaltet.

Vielen Dank und Grüße Michael

Starkstrombastler

Zitat von: Elektron am 17 Februar 2026, 13:08:09die Zustände eines Shelly1MiniG3 nicht mehr regelmäßig in FHEM aktualisiert werden.
Wenn du das Shelly-Modul nutzt: Das regelmäßige Polling der Daten vom Shelly erfolgt gemäß des via Attribut eingestellten Intervalls. Versuchsweise auf einen kleinen Wert, z.B. 30, einstellen.
Wie lautet das Internal "INTERVAL"?
IPC\Ubuntu + Fhem, 1wire, Shellies, Siemens Logo!, Z-Wave, PhilipsTV, Vu+duo2, KM200

jkriegl

#1294
Beobachte Vergleichbares wie Elektron
Plug-A (Trinkwasserstation) schaltet per script Plug-B (Zirkulation) mit toggle_after (bzw. Auto OFF).
Über B beobachte ich in fhem die Schaltungen. Spordisch kommt es vor, dass state und relay nicht mehr aktualisiert werden. Die kürzeste Schaltung ist 45, interval ist 30 Sek. Selbst wenn ein off verpasst wurde, müsste relay später aktualisiert werden.
FHEM und firmware sind aktuell. Ein get <device> status hilft.
Erst seit 1 Woche im Einsatz, davor mqtt-Lösung, soll aber autark (ohne FHEM u. cloud) laufen.
Bin an einer Lösung die Plug-B-Schaltungen (Log) an FHEM zu schicken dran. Ein Shelly.call("HTTP.GET" .. fhem?cmd=setreading ..) habe ich noch nicht getestet.
Via Action bekomme ich nur die Event trigger "Switch toggled on/off" 
Jede Hilfe dazu ist willkommen.
Rpi 3/4, buster, Fhem, Cul 868, HM-CC-RT-DN, HM-Sec-Sco, HM-ES-PMSw1-Pl, ebus (Vaillant), ECMD, Telegram, HTTPMOD, Xiaomi, Shelly

Starkstrombastler

Zitat von: jkriegl am 19 Februar 2026, 14:15:57Über B beobachte ich in fhem die Schaltungen. Spordisch kommt es vor, dass state und relay nicht mehr aktualisiert werden. Die kürzeste Schaltung ist 45, interval ist 30 Sek.
Das Modul versucht, bei einem entdeckten Shelly-Timer das Polling bei Ablauf des Shelly-Timers "abzukürzen", so dass Fhem möglichst kurz nach dem Schaltvorgang auf dem Shelly aktualisiert wird. Warum es hier zu solchen sporadischen Stillstand des Pollings kommt, muss ich untersuchen.

Zitat von: jkriegl am 19 Februar 2026, 14:15:57Via Action bekomme ich nur die Event trigger "Switch toggled on/off" 
Das würde ich doch ausnutzen, um durch das Ereignis auf dem Shelly die Aktualisierung von Fhem anzustoßen.
Die URL für die Shelly-Action "aus" müsste dann ungefähr so aussehen:
http://<ip-vom-Fhem-Server>:<port>/fhem?cmd=set+<device>+out_off
Nachdem das Modul auf diese Weise den Schaltvorgang mitbekommt, löst es ein get <device> status aus.
Obige URL könnt also auch so aussehen:
http://<ip-vom-Fhem-Server>:<port>/fhem?cmd=get+<device>+status
Nachdem solche Actions eingerichtet sind, könnte man auch komplett auf das Polling verzichten, oder große Intervalle wählen.

IPC\Ubuntu + Fhem, 1wire, Shellies, Siemens Logo!, Z-Wave, PhilipsTV, Vu+duo2, KM200

jkriegl

Vielen Dank erst mal
Bei
Zitat"Switch toggled on/off"
ist vermutlich die kleine Taste gemeint.

Kann inzwischen via script den Status abschicken (zumindest gibt es keine Fehlermeldung) und muss noch auf state reagieren.
Rpi 3/4, buster, Fhem, Cul 868, HM-CC-RT-DN, HM-Sec-Sco, HM-ES-PMSw1-Pl, ebus (Vaillant), ECMD, Telegram, HTTPMOD, Xiaomi, Shelly

Starkstrombastler

Zitat von: jkriegl am 20 Februar 2026, 16:55:33Bei
Zitat"Switch toggled on/off"
ist vermutlich die kleine Taste gemeint.
Nein, gar nicht. Gemeint ist das Auswahlmenu "Event trigger" auf der "Create Action" Seite des Shelly.
IPC\Ubuntu + Fhem, 1wire, Shellies, Siemens Logo!, Z-Wave, PhilipsTV, Vu+duo2, KM200

Elektron

Hallo zusammen,

Bei mir steht der INTERVAL auf 60 Sekunden, ich schalte die Zirkulationspumpe für 5 Minuten ein und das je alle 4000 Sekunden, liegt also deutlich über dem Intervall, selbst wenn die erste Umschaltung verpasst werden sollte, müsste es nach 2 Minuten klappen.

Ich habe mal verbose auf 5 gesetzt und in dem Zeitraum das Log durchgesehen. Die Daten werden regelmässig vom Shelly abgeholt.

Wie schon geschrieben, ist die gleiche Konfiguration bis Weihnachten ohne Auffälligkeiten gelaufen, seit de, geht es immer wieder nicht. Gab es in diesem Zeitraum Änderungen?

Viele Grüße Michael

Starkstrombastler

Zitat von: Elektron am 22 Februar 2026, 10:45:58Bei mir steht der INTERVAL auf 60 Sekunden, ich schalte die Zirkulationspumpe für 5 Minuten ein und das je alle 4000 Sekunden
Wie hast du den Shelly eingerichtet, ich würde das gerne nachstellen.

Zitat von: Elektron am 22 Februar 2026, 10:45:58Wie schon geschrieben, ist die gleiche Konfiguration bis Weihnachten ohne Auffälligkeiten gelaufen, seit de, geht es immer wieder nicht. Gab es in diesem Zeitraum Änderungen?
Ja, schon, es gibt immer wieder Ergänzungen, aber seit Weihnachten nichts Grundlegendes am Timing.
IPC\Ubuntu + Fhem, 1wire, Shellies, Siemens Logo!, Z-Wave, PhilipsTV, Vu+duo2, KM200

Elektron

Jetzt bin ich mir nicht sicher was Du meinst mit ,,wie hast Du den Shelly eingerichtet?"?
Also im FHEM ist nur der Shelly definiert mit:

defmod Zirkulationspumpe Shelly 192.168.2.187
attr Zirkulationspumpe model shellyplus1
attr Zirkulationspumpe verbose 5

Im Shelly selber habe ich zwei Aktionen definiert:

1.) ,,wieder an"
     Active time 5:00 - 21:00
     Event trigger ,,switch toggled off"
     Repeat when 300Sekunden
     Then do ,,Output(0); Output State: on; Flip value After 300 Seconds

2.) ,,wieder aus"
     Active time 5:00 - 21:00
     Event trigger ,,switch toggled on"
     Repeat when 30 Sekunden
     Then do ,,output(0); output State: Off; flip value after 4000 Seconds"

Vielen Dank und Grüße Michael
     

jkriegl

#1301
Ich habe bei Then do
http://192.168.178.xx:8083/fhem?cmd=set myShelly out_off
"out_off", weil es so im Wiki steht https://wiki.fhem.de/wiki/Modul_Shelly
Allerdings steht dort auch ...(nur Testversion)
Meine "Einrichtung" ist wie bei Elektron, nur mit noch weniger Bedingungen.

Das Schreiben aus einem shelly-script klappt noch nicht. Bekomme zwar keinen error, ab in fhem kommt scheinbar nichts an.
Es ist ein Shelly Plug S MTR Gen3
Rpi 3/4, buster, Fhem, Cul 868, HM-CC-RT-DN, HM-Sec-Sco, HM-ES-PMSw1-Pl, ebus (Vaillant), ECMD, Telegram, HTTPMOD, Xiaomi, Shelly

Starkstrombastler

Zitat von: jkriegl am 22 Februar 2026, 17:12:22http://192.168.178.xx:8083/fhem?cmd=set myShelly out_off
Das ist ein SET-Befehl, mit dem Änderungen auf dem Shelly an Fhem mitgeteilt werden, ohne auf dem Shelly selbst irgendetwas auzulösen.
Hinweis: Leerzeichen mit %20 oder + maskieren.

Genau das habe ich auch ergänzt, um die von Elektron beschriebenen Aktionen zu ergänzen:
Zitat von: Elektron am 22 Februar 2026, 14:08:32Im Shelly selber habe ich zwei Aktionen definiert:

http://192.168.178.107:8083/fhem?cmd=set+Y182+out_off
http://192.168.178.107:8083/fhem?cmd=set+Y182+out_on
Damit bekommt das Modul jeden Wechsel zeitnah mit.
Im Eventmonitor, getriggert auf die Readings timer und relay, beobachte ich allerdings, dass dreifach(!) geschaltet wird:
2026-02-22 15:37:09.390 Shelly Y182 timer: 1.0 sec = 2026-02-22 15:37:10
2026-02-22 15:37:10.512 Shelly Y182 relay: on
2026-02-22 15:37:10.549 Shelly Y182 timer: -
2026-02-22 15:37:10.655 Shelly Y182 relay: off
2026-02-22 15:37:11.017 Shelly Y182 relay: on
2026-02-22 15:37:11.017 Shelly Y182 timer: 299.7 sec = 2026-02-22 15:42:10
und
2026-02-22 15:42:03.800 Shelly Y182 timer: 6.9 sec = 2026-02-22 15:42:10
2026-02-22 15:42:10.809 Shelly Y182 relay: off
2026-02-22 15:42:10.852 Shelly Y182 relay: on
2026-02-22 15:42:10.852 Shelly Y182 timer: 300.0 sec = 2026-02-22 15:47:10
2026-02-22 15:42:11.289 Shelly Y182 relay: off
2026-02-22 15:42:11.289 Shelly Y182 timer: 3999.7 sec = 2026-02-22 16:48:51

Problematisch ist also die Definiton der Aktionen, denn es wird ein sofortiger Schaltvorgang und ein zeitverzögerter Vorgang ausgelöst.
Bei Event 'Switch toggled on' sollte auch 'set output state on' und umgekehrt gewählt werden.

Damit funktioniert das Ganze bei mir ohne Mehrfach-Schaltvorgänge.

IPC\Ubuntu + Fhem, 1wire, Shellies, Siemens Logo!, Z-Wave, PhilipsTV, Vu+duo2, KM200