Befehl an Shelly erneut senden wenn senden nicht erfolgreich

Begonnen von Hadl, 14 Februar 2026, 16:17:14

Vorheriges Thema - Nächstes Thema

Hadl

Hallo zusammen,
ich nutze einen Shelly um mein Warmwasser bei PV Überschutz zu erhitzen.
Das klappt auch mit einem etwas komplexeren DOIF sehr gut. Der DOIF schaltet an dem Shelly dann einen oder beide Ausgänge mit Heizstäben je nach Überschuss ein und aus.

Manchmal hat aber der Shelly scheinbar keine WLAN verbindung und ein Kommando geht verloren. Das ist besondes ärgerlich wenn es das letze Ausschalten vor Sonnenuntergang ist, denn dann läuft der Heizstab einfach weiter und heizt bis Maximaltemperatur.

Den Shelly steuere ich über das Shelly Modul

defmod ShellyBoiler Shelly 192.168.178.xx
attr ShellyBoiler event-min-interval .*:3600
attr ShellyBoiler event-on-change-reading .*
attr ShellyBoiler eventMap /on 0:1kW-ein/off 0:1kW-aus/on 1:2kW-ein/off 1:2kW-aus
attr ShellyBoiler icon sani_buffer_electric_heater_side
attr ShellyBoiler interval 60
attr ShellyBoiler mode relay
attr ShellyBoiler model shellyplus2pm
attr ShellyBoiler stateFormat 1kW:relay_0\
<br>\
2kW:relay_1
attr ShellyBoiler userReadings power_sum:power_.* {my $val = ReadingsVal($name,"power_0",0) + ReadingsVal($name,"power_1",0);;;;$val},\
energy_sum:energy_.* {my $val = ReadingsVal($name,"energy_0",0) + ReadingsVal($name,"energy_1",0);;;;$val},
attr ShellyBoiler webCmd 1kW-ein:1kW-aus:2kW-ein:2kW-aus
attr ShellyBoiler webhook WEB

setstate ShellyBoiler 1kW:off\
<br>\
2kW:off
Der DOIF ruft diese Kommandos hier auf:
1kW-ein:1kW-aus:2kW-ein:2kW-aus

Ich wünsche mir nun eine Funktion die das Shelly Kommando solange wiederholt bis es erfolgreich empfangen wurde. Kann man das mit dem Shelly Modul selbst hinbekommen?

Falls nicht, kann ich irgendwie einen Soll/Ist Vergleich der Relais Zustände machen und das Kommando bei Abweichung wiederholen?


Vielen Dank für eure Ideen

Hadl
FHEM: Rpi 5 + SSD / WR: Fronius Symo Gen24 10.0 Plus + BYD HVS 7.7, Fronius Symo Gen24 12.0 SC (60%) PV: (Ost=3.5 West=6.6 Nord=9.9 Ost=4.5) / Homematic BidCoS / Shelly / Viessmann

Prof. Dr. Peter Henning

Zunächst einmal sollte der Shelly jeden erfolgreich durchgeführten Schaltvorgang mit einem REST-Call zu FHEM quittieren, z.B. einfach ein userReading im Device setzen - das geht mit einem Shelly-internen Skript. Auf FHEM-Seite kann man kontrollieren, ob dieses Reading gesetzt wurde und ggf. den Befehl wiederholen.

LG

pah