Steckdosen schalten wenn 15min (=15x) SolarEdgePV status-pv_power >1

Begonnen von BKutte, 05 März 2021, 11:39:12

Vorheriges Thema - Nächstes Thema

Otto123

Hast Du Damians Link gelesen?
Zitatattr di_lamp cmdState on|off
Siehst Du den Unterschied? ::)
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

BKutte

Hab ich Otto. Sorry das ich es nicht schnalle aber ich habe hiermit keinen Effekt fest gestellt
attr di_PVerzeugung1up cmdState on|off
attr di_PVeinspeisung06up cmdState on|off

denn es steht noch immer in der Übersicht "cmd_1" oder "cmd_2".

Deshalb dachte ich es wäre "Anpassung des Status mit Hilfe des Attributes state"...

Otto123

Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

TomLee

Die setList gehört doch dazu edit: nur um on oder off ergänzt, oder ?

BKutte

List di_PVerzeugung1up:
Internals:
   DEF        ([SolarEdgePV:status-pv_power] > 1 )((set ShellyPlug3,ShellyPlug4 on)) DOELSEIF ([SolarEdgePV:status-pv_power] <= 1 )((set ShellyPlug3,ShellyPlug4 off))
   FUUID      60422e47-f33f-70ee-9b22-71f1e53768a421e7
   MODEL      FHEM
   NAME       di_PVerzeugung1up
   NOTIFYDEV  global,SolarEdgePV
   NR         25
   NTFY_ORDER 50-di_PVerzeugung1up
   STATE      cmd_2
   TYPE       DOIF
   VERSION    23858 2021-02-28 19:17:50
   READINGS:
     2021-03-06 10:41:56   Device          SolarEdgePV
     2021-03-06 05:55:13   cmd             2
     2021-03-06 05:55:13   cmd_event       SolarEdgePV
     2021-03-06 05:55:13   cmd_nr          2
     2021-03-06 10:41:56   e_SolarEdgePV_status-pv_power 6.38
     2021-03-05 14:12:39   mode            enabled
     2021-03-06 05:55:13   state           cmd_2
     2021-03-06 10:41:56   wait_timer      06.03.2021 10:56:56 cmd_1 SolarEdgePV
   Regex:
     accu:
     cond:
       SolarEdgePV:
         0:
           status-pv_power ^SolarEdgePV$:^status-pv_power:
         1:
           status-pv_power ^SolarEdgePV$:^status-pv_power:
   attr:
     cmdState:
       0:
         on
       1:
         off
     wait:
       0:
         900
       1:
         900
     waitdel:
   condition:
     0          ::ReadingValDoIf($hash,'SolarEdgePV','status-pv_power') > 1
     1          ::ReadingValDoIf($hash,'SolarEdgePV','status-pv_power') <= 1
   do:
     0:
       0          (set ShellyPlug3,ShellyPlug4 on)
     1:
       0          (set ShellyPlug3,ShellyPlug4 off)
     2:
   helper:
     DEVFILTER  ^global$|^SolarEdgePV$
     NOTIFYDEV  global|SolarEdgePV
     event      status-pv_status: Active,status-grid_status: Active,status-grid_power: -5.84,status-load_status: Active,status-unit: kW,status-storage_status: -,status-pv_power: 6.38,status-updateRefreshRate: 3,status-load_power: 0.54
     globalinit 1
     last_timer 0
     sleepdevice SolarEdgePV
     sleepsubtimer 0
     sleeptimer 0
     timerdev   SolarEdgePV
     timerevent status-pv_status: Active,status-grid_status: Active,status-grid_power: -5.84,status-load_status: Active,status-unit: kW,status-storage_status: -,status-pv_power: 6.38,status-updateRefreshRate: 3,status-load_power: 0.54
     triggerDev SolarEdgePV
     timerevents:
       status-pv_status: Active
       status-grid_status: Active
       status-grid_power: -5.84
       status-load_status: Active
       status-unit: kW
       status-storage_status: -
       status-pv_power: 6.38
       status-updateRefreshRate: 3
       status-load_power: 0.54
     timereventsState:
       status-pv_status: Active
       status-grid_status: Active
       status-grid_power: -5.84
       status-load_status: Active
       status-unit: kW
       status-storage_status: -
       status-pv_power: 6.38
       status-updateRefreshRate: 3
       status-load_power: 0.54
     triggerEvents:
       status-pv_status: Active
       status-grid_status: Active
       status-grid_power: -5.84
       status-load_status: Active
       status-unit: kW
       status-storage_status: -
       status-pv_power: 6.38
       status-updateRefreshRate: 3
       status-load_power: 0.54
     triggerEventsState:
       status-pv_status: Active
       status-grid_status: Active
       status-grid_power: -5.84
       status-load_status: Active
       status-unit: kW
       status-storage_status: -
       status-pv_power: 6.38
       status-updateRefreshRate: 3
       status-load_power: 0.54
   internals:
   perlblock:
   readings:
     all         SolarEdgePV:status-pv_power
   trigger:
   uiTable:
Attributes:
   cmdState   on|off
   do         resetwait
   room       PV
   wait       900:900


List di_PVeinspeisung06up:
Internals:
   DEF        ([SolarEdgePV:status-grid_power] < -0.6 )((set ShellyPlug1 on)) DOELSEIF ([SolarEdgePV:status-grid_power] >= -0.2 )((set ShellyPlug1 off))
   FUUID      604341a9-f33f-70ee-9a7c-641877064494375e
   MODEL      FHEM
   NAME       di_PVeinspeisung06up
   NOTIFYDEV  SolarEdgePV,global
   NR         26
   NTFY_ORDER 50-di_PVeinspeisung06up
   STATE      cmd_1
   TYPE       DOIF
   VERSION    23858 2021-02-28 19:17:50
   READINGS:
     2021-03-06 10:42:55   Device          SolarEdgePV
     2021-03-06 09:47:54   cmd             1
     2021-03-06 09:47:54   cmd_event       SolarEdgePV
     2021-03-06 09:47:54   cmd_nr          1
     2021-03-06 10:42:55   e_SolarEdgePV_status-grid_power -5.92
     2021-03-06 09:47:38   mode            enabled
     2021-03-06 09:47:54   state           cmd_1
     2021-03-06 10:42:55   wait_timer      06.03.2021 10:57:55 cmd_1 SolarEdgePV
   Regex:
     accu:
     cond:
       SolarEdgePV:
         0:
           status-grid_power ^SolarEdgePV$:^status-grid_power:
         1:
           status-grid_power ^SolarEdgePV$:^status-grid_power:
   attr:
     cmdState:
       0:
         on
       1:
         off
     wait:
       0:
         900
       1:
         300
     waitdel:
   condition:
     0          ::ReadingValDoIf($hash,'SolarEdgePV','status-grid_power') < -0.6
     1          ::ReadingValDoIf($hash,'SolarEdgePV','status-grid_power') >= -0.2
   do:
     0:
       0          (set ShellyPlug1 on)
     1:
       0          (set ShellyPlug1 off)
     2:
   helper:
     DEVFILTER  ^global$|^SolarEdgePV$
     NOTIFYDEV  global|SolarEdgePV
     event      status-load_power: 0.43,status-updateRefreshRate: 3,status-pv_power: 6.35,status-storage_status: -,status-unit: kW,status-load_status: Active,status-grid_power: -5.92,status-grid_status: Active,status-pv_status: Active
     globalinit 1
     last_timer 0
     sleepdevice SolarEdgePV
     sleepsubtimer 0
     sleeptimer 0
     timerdev   SolarEdgePV
     timerevent status-load_power: 0.43,status-updateRefreshRate: 3,status-pv_power: 6.35,status-storage_status: -,status-unit: kW,status-load_status: Active,status-grid_power: -5.92,status-grid_status: Active,status-pv_status: Active
     triggerDev SolarEdgePV
     timerevents:
       status-load_power: 0.43
       status-updateRefreshRate: 3
       status-pv_power: 6.35
       status-storage_status: -
       status-unit: kW
       status-load_status: Active
       status-grid_power: -5.92
       status-grid_status: Active
       status-pv_status: Active
     timereventsState:
       status-load_power: 0.43
       status-updateRefreshRate: 3
       status-pv_power: 6.35
       status-storage_status: -
       status-unit: kW
       status-load_status: Active
       status-grid_power: -5.92
       status-grid_status: Active
       status-pv_status: Active
     triggerEvents:
       status-load_power: 0.43
       status-updateRefreshRate: 3
       status-pv_power: 6.35
       status-storage_status: -
       status-unit: kW
       status-load_status: Active
       status-grid_power: -5.92
       status-grid_status: Active
       status-pv_status: Active
     triggerEventsState:
       status-load_power: 0.43
       status-updateRefreshRate: 3
       status-pv_power: 6.35
       status-storage_status: -
       status-unit: kW
       status-load_status: Active
       status-grid_power: -5.92
       status-grid_status: Active
       status-pv_status: Active
   internals:
   perlblock:
   readings:
     all         SolarEdgePV:status-grid_power
   trigger:
   uiTable:
Attributes:
   cmdState   on|off
   do         resetwait
   room       PV
   wait       900:300


P.S.: Kann es sein, das wenn ich die Steckdosen manuell aus schalte der DOIF sie nicht mehr an schaltet? Also nur ein mal eingeschalten und ein mal ausgeschalten wird wenn die Bedingung erreicht ist?

Otto123

ZitatP.S.: Kann es sein, das wenn ich die Steckdosen manuell aus schalte der DOIF sie nicht mehr an schaltet? Also nur ein mal eingeschalten und ein mal ausgeschalten wird wenn die Bedingung erreicht ist?
Das ist das Grundprinzip von DOIF.

Im List steht das DOIF noch im Waittimer - kann sein das der state erst später wechsel? Ich habe ein DOIF das sieht auch so aus und da funktioniert das mit cmdState wie gewollt. Laut deinem list ist auch alles angekommen:
Zitatattr:
     cmdState:
       0:
         on
       1:
         off
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

BKutte

OK, danke fürs checken und beantworten meiner "doofen Fragen" ;-) Ich warte dann einfach mal ab ;-)

Otto123

Das "die Mitbewohner" die Steckdosen einfach schalten und dann die Logik außer ihrem Bereich ist sollte/kann man mit abprüfen.
Power triggert ja das DOIF, das tut nichts wenn es schon geschalten hatte. Wenn es aber zus. den Zustand der Dose prüft kann es feststellen ob extern eingegriffen wurde und würde wieder schalten. so in der Art
[SolarEdgePV:status-pv_power] > 1  and [ShellyPlug3:state] eq "off"
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

BKutte

Ich verstehe zwar nicht ganz was du meinst Otto (kleider Vertipper ;)?) aber ich glaube ich will das so das ich noch manuell eingreifen kann. Also ist der Effekt wenn geplant und reproduzierbar so OK.

P.S.: Gibt ja Tage ohne Sonne wo ich bewusst dann über "Netzstrom" die geschalteten Verbraucher laufen lassen muss/will...

Otto123

habs korrigiert und habe deine P.S. Frage dann falsch interpretiert ;)
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

BKutte

Mist! Zu früh gefreut. Schaltet nicht aus (und vermutlich auch nicht ein). Ich hatte noch eine Zeitschaltung der Shellys selber aktiv und deshalb gedacht sie wären heute morgen eingeschlaten worden :'(
Die ist jetzt aus und sie müssten längst off sein  :'(

list di_PVeinspeisung06up
Internals:
   DEF        ([SolarEdgePV:status-grid_power] < -0.6 )((set ShellyPlug1 on)) DOELSEIF ([SolarEdgePV:status-grid_power] >= -0.2 )((set ShellyPlug1 off))
   FUUID      604341a9-f33f-70ee-9a7c-641877064494375e
   MODEL      FHEM
   NAME       di_PVeinspeisung06up
   NOTIFYDEV  SolarEdgePV,global
   NR         26
   NTFY_ORDER 50-di_PVeinspeisung06up
   STATE      cmd_1
   TYPE       DOIF
   VERSION    23858 2021-02-28 19:17:50
   READINGS:
     2021-03-06 19:33:23   Device          SolarEdgePV
     2021-03-06 09:47:54   cmd             1
     2021-03-06 09:47:54   cmd_event       SolarEdgePV
     2021-03-06 09:47:54   cmd_nr          1
     2021-03-06 19:33:23   e_SolarEdgePV_status-grid_power -0.1
     2021-03-06 09:47:38   mode            enabled
     2021-03-06 09:47:54   state           cmd_1
     2021-03-06 19:33:23   wait_timer      06.03.2021 19:38:23 cmd_2 SolarEdgePV
   Regex:
     accu:
     cond:
       SolarEdgePV:
         0:
           status-grid_power ^SolarEdgePV$:^status-grid_power:
         1:
           status-grid_power ^SolarEdgePV$:^status-grid_power:
   attr:
     cmdState:
       0:
         on
       1:
         off
     wait:
       0:
         900
       1:
         300
     waitdel:
   condition:
     0          ::ReadingValDoIf($hash,'SolarEdgePV','status-grid_power') < -0.6
     1          ::ReadingValDoIf($hash,'SolarEdgePV','status-grid_power') >= -0.2
   do:
     0:
       0          (set ShellyPlug1 on)
     1:
       0          (set ShellyPlug1 off)
     2:
   helper:
     DEVFILTER  ^global$|^SolarEdgePV$
     NOTIFYDEV  global|SolarEdgePV
     event      status-updateRefreshRate: 3,status-load_status: Idle,status-pv_status: Idle,status-grid_power: -0.1,status-load_power: 0,status-storage_status: -,status-pv_power: 0,status-unit: kW,status-grid_status: Active
     globalinit 1
     last_timer 0
     sleepdevice SolarEdgePV
     sleepsubtimer 0
     sleeptimer 1
     timerdev   SolarEdgePV
     timerevent status-updateRefreshRate: 3,status-load_status: Idle,status-pv_status: Idle,status-grid_power: -0.1,status-load_power: 0,status-storage_status: -,status-pv_power: 0,status-unit: kW,status-grid_status: Active
     triggerDev SolarEdgePV
     timerevents:
       status-updateRefreshRate: 3
       status-load_status: Idle
       status-pv_status: Idle
       status-grid_power: -0.1
       status-load_power: 0
       status-storage_status: -
       status-pv_power: 0
       status-unit: kW
       status-grid_status: Active
     timereventsState:
       status-updateRefreshRate: 3
       status-load_status: Idle
       status-pv_status: Idle
       status-grid_power: -0.1
       status-load_power: 0
       status-storage_status: -
       status-pv_power: 0
       status-unit: kW
       status-grid_status: Active
     triggerEvents:
       status-updateRefreshRate: 3
       status-load_status: Idle
       status-pv_status: Idle
       status-grid_power: -0.1
       status-load_power: 0
       status-storage_status: -
       status-pv_power: 0
       status-unit: kW
       status-grid_status: Active
     triggerEventsState:
       status-updateRefreshRate: 3
       status-load_status: Idle
       status-pv_status: Idle
       status-grid_power: -0.1
       status-load_power: 0
       status-storage_status: -
       status-pv_power: 0
       status-unit: kW
       status-grid_status: Active
   internals:
   perlblock:
   readings:
     all         SolarEdgePV:status-grid_power
   trigger:
   uiTable:
Attributes:
   cmdState   on|off
   do         resetwait
   room       PV
   wait       900:300


list di_PVerzeugung1up
Internals:
   DEF        ([SolarEdgePV:status-pv_power] > 1 )((set ShellyPlug3,ShellyPlug4 on)) DOELSEIF ([SolarEdgePV:status-pv_power] <= 1 )((set ShellyPlug3,ShellyPlug4 off))
   FUUID      60422e47-f33f-70ee-9b22-71f1e53768a421e7
   MODEL      FHEM
   NAME       di_PVerzeugung1up
   NOTIFYDEV  global,SolarEdgePV
   NR         25
   NTFY_ORDER 50-di_PVerzeugung1up
   STATE      cmd_2
   TYPE       DOIF
   VERSION    23858 2021-02-28 19:17:50
   READINGS:
     2021-03-06 19:35:53   Device          SolarEdgePV
     2021-03-06 05:55:13   cmd             2
     2021-03-06 05:55:13   cmd_event       SolarEdgePV
     2021-03-06 05:55:13   cmd_nr          2
     2021-03-06 19:35:53   e_SolarEdgePV_status-pv_power 0
     2021-03-05 14:12:39   mode            enabled
     2021-03-06 05:55:13   state           cmd_2
     2021-03-06 19:35:53   wait_timer      06.03.2021 19:50:53 cmd_2 SolarEdgePV
   Regex:
     accu:
     cond:
       SolarEdgePV:
         0:
           status-pv_power ^SolarEdgePV$:^status-pv_power:
         1:
           status-pv_power ^SolarEdgePV$:^status-pv_power:
   attr:
     cmdState:
       0:
         on
       1:
         off
     wait:
       0:
         900
       1:
         900
     waitdel:
   condition:
     0          ::ReadingValDoIf($hash,'SolarEdgePV','status-pv_power') > 1
     1          ::ReadingValDoIf($hash,'SolarEdgePV','status-pv_power') <= 1
   do:
     0:
       0          (set ShellyPlug3,ShellyPlug4 on)
     1:
       0          (set ShellyPlug3,ShellyPlug4 off)
     2:
   helper:
     DEVFILTER  ^global$|^SolarEdgePV$
     NOTIFYDEV  global|SolarEdgePV
     event      status-grid_power: 0,status-load_power: 0,status-storage_status: -,status-pv_power: 0,status-grid_status: Active,status-unit: kW,status-updateRefreshRate: 3,status-load_status: Idle,status-pv_status: Idle
     globalinit 1
     last_timer 0
     sleepdevice SolarEdgePV
     sleepsubtimer 0
     sleeptimer 1
     timerdev   SolarEdgePV
     timerevent status-grid_power: 0,status-load_power: 0,status-storage_status: -,status-pv_power: 0,status-grid_status: Active,status-unit: kW,status-updateRefreshRate: 3,status-load_status: Idle,status-pv_status: Idle
     triggerDev SolarEdgePV
     timerevents:
       status-grid_power: 0
       status-load_power: 0
       status-storage_status: -
       status-pv_power: 0
       status-grid_status: Active
       status-unit: kW
       status-updateRefreshRate: 3
       status-load_status: Idle
       status-pv_status: Idle
     timereventsState:
       status-grid_power: 0
       status-load_power: 0
       status-storage_status: -
       status-pv_power: 0
       status-grid_status: Active
       status-unit: kW
       status-updateRefreshRate: 3
       status-load_status: Idle
       status-pv_status: Idle
     triggerEvents:
       status-grid_power: 0
       status-load_power: 0
       status-storage_status: -
       status-pv_power: 0
       status-grid_status: Active
       status-unit: kW
       status-updateRefreshRate: 3
       status-load_status: Idle
       status-pv_status: Idle
     triggerEventsState:
       status-grid_power: 0
       status-load_power: 0
       status-storage_status: -
       status-pv_power: 0
       status-grid_status: Active
       status-unit: kW
       status-updateRefreshRate: 3
       status-load_status: Idle
       status-pv_status: Idle
   internals:
   perlblock:
   readings:
     all         SolarEdgePV:status-pv_power
   trigger:
   uiTable:
Attributes:
   cmdState   on|off
   do         resetwait
   room       PV
   wait       900:900


Ich schalte jetzt mal von Hand ab und gucke was morgen passiert...

Edit: Ich konnte es nicht lassen und habe mal zum testen cmdState on|off (und wait 900:900) raus genommen und "klick", FHEM schaltet :-) Scheint so als ob cmdState on|off das blockiert hat....

Otto123

Wie hoch ist denn die Auflösung von status-grid_power?
Er war kurz davor zu schalten 19:36:34
Zitat2021-03-06 19:33:23   e_SolarEdgePV_status-grid_power -0.1
     2021-03-06 09:47:38   mode            enabled
     2021-03-06 19:33:23   wait_timer      06.03.2021 19:38:23 cmd_2 SolarEdgePV


Der andere genauso.
Zitat2021-03-06 19:35:53   e_SolarEdgePV_status-pv_power 0
     2021-03-06 19:35:53   wait_timer      06.03.2021 19:50:53 cmd_2 SolarEdgePV
Ob es Sinn macht mit Werten von 0 und 1 zu vergleichen? Der digitale Restfehler ist hierbei 1  ::)
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

BKutte

Danke Otto für die Analyse. Dann verdächtige ich mal den "wait" Wert...

Die FHEM holt von 6 Uhr frühs bis 22 Uhr Abends alle 30 Sekunden über die SolareEdge API von der Anlage ab. Genau genommen sind die Werte auch schon etwas verzögert aber das fällt nicht ins Gewicht.

status-pv_power geht von 0.02 (ggf. auf 0.01) frühs wenn die Sonne aufgeht bis 6.70 in etwa wenn die Anlage Mittags unter Vollast auf dem SüdOst Dach läuft. Danach geht die Sonne über auf das NordWest Dach und die Anlage sackt ab bis wieder etwa 0.02 und geht aus.

status-pv_power geht von positiven Werten wenn die PV keinen Strom liefert und wir aus dem Netz beziehen (realistisch auch mal 5 - 6.00 wenn der Backofen läuft) über 0.00 wenn die PV den Bedarf deckt und der Speicher den übrigen Strom läd bis hin zu -6.40 wenn bis auf ca. 300 Watt die das Haus verbraucht alles ins Netz gespeist wird.

Also finde ich den Ansatz auf 1 zu prüfen nicht so falsch. 1 ist ja immerhin 1.00 also 1.000 Watt ;)
Über die >= -0.2 also -0.1 kann kam streiten aber das sind ja auch noch -01.0 also 100 Watt
Die Genauigkeit des Systems sollte hier kein Problem sein.

Aber zurück zum "wait":

Wenn du sagst das 19:38 grid_power und um 19:50 pv_power schalten sollte liegt der Fehler in den Wait werden von 900 und 300. Laut Monitoring der Anlage müsste pv_power gegen 17:35 unter 1kw = 1.0 gegangen sein und grid power gegen 17:50 Uhr unter -200 Watt = -0.2.

D.h.
grid_power hat vermutlich von ca. 17:50 bis 19:38 gewartet = 108 Minuten
wait war hier 300

pv_power hat vermutlich von ca. 17:35 bis 19:50 gewartet = 135 Minuten
wait war hier 600

So ganz ergibt das jetzt für mich keinen Sinn :-(

Ich werde mal den Wait entfernen und cmdState on|off wieder ergänzen. Mal sehen was morgen passiert. Es soll ja die Sonne gut scheinen.

Vielleicht erkennt ja Otto oder ein andere Profi eine Logik in der Verzögerung von wait und erhellt mich. Danke schonmal dafür!

Otto123

ich sehe in den von Dir gezeigten Werten diese Auflösung von 2 Stellen nach dem Komma nicht.

wait und resetwait wirken wie folgt zusammen. Tritt eine Bedingung ein die den Status ändern würde, dann wartet DOIF die wait Zeit ab. Wechselt in der Zeit die Bedingung während der wait Zeit  wieder, wird der Timer  gelöscht.
Wenn Deine Werte also immer so schwanken das das DOIF ständig zwischen cmd 1 und 2 wechselt kommt die Ausführung nie zum Zuge.

Man nimmt diese Kombination wenn man kurze Schwankungen in die "falsche" Richtung ausblenden will.
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

BKutte

Moin Otto123 und nochmals danke für deinen langen Atem ;-) Heute früh hat (ohne Wait) beide DOIFs die Steckdosen aktiviert. Wann weiß ich leider nicht aber sie sind an. UND du hast recht, jetzt habe ich ein schönes ON bzw. sogar die leuchtende Lampe hinter den DOIFs :-) Schick!!!

Hier nochmal die beiden lists in denen man sehen sollte das die Werte zwei Stellen nach dem Komma haben:

list di_PVeinspeisung06up

Internals:
   DEF        ([SolarEdgePV:status-grid_power] < -0.6 )((set ShellyPlug1 on)) DOELSEIF ([SolarEdgePV:status-grid_power] >= -0.2 )((set ShellyPlug1 off))
   FUUID      604341a9-f33f-70ee-9a7c-641877064494375e
   MODEL      FHEM
   NAME       di_PVeinspeisung06up
   NOTIFYDEV  global,SolarEdgePV
   NR         26
   NTFY_ORDER 50-di_PVeinspeisung06up
   STATE      on
   TYPE       DOIF
   VERSION    23858 2021-02-28 19:17:50
   READINGS:
     2021-03-07 09:32:09   Device          SolarEdgePV
     2021-03-07 09:32:09   cmd             1
     2021-03-07 09:32:09   cmd_event       SolarEdgePV
     2021-03-07 09:32:09   cmd_nr          1
     2021-03-07 09:32:09   e_SolarEdgePV_status-grid_power -2.32
     2021-03-06 09:47:38   mode            enabled
     2021-03-07 09:32:09   state           on
     2021-03-06 22:53:32   wait_timer      no timer
   Regex:
     accu:
     cond:
       SolarEdgePV:
         0:
           status-grid_power ^SolarEdgePV$:^status-grid_power:
         1:
           status-grid_power ^SolarEdgePV$:^status-grid_power:
   attr:
     cmdState:
       0:
         on
       1:
         off
     wait:
     waitdel:
   condition:
     0          ::ReadingValDoIf($hash,'SolarEdgePV','status-grid_power') < -0.6
     1          ::ReadingValDoIf($hash,'SolarEdgePV','status-grid_power') >= -0.2
   do:
     0:
       0          (set ShellyPlug1 on)
     1:
       0          (set ShellyPlug1 off)
     2:
   helper:
     DEVFILTER  ^global$|^SolarEdgePV$
     NOTIFYDEV  global|SolarEdgePV
     event      status-grid_status: Active,status-unit: kW,status-storage_status: -,status-pv_power: 5.74,status-load_power: 3.42,status-grid_power: -2.32,status-pv_status: Active,status-load_status: Active,status-updateRefreshRate: 3
     globalinit 1
     last_timer 0
     sleepdevice SolarEdgePV
     sleepsubtimer -1
     sleeptimer -1
     timerdev   SolarEdgePV
     timerevent status-grid_status: Active,status-unit: kW,status-storage_status: -,status-pv_power: 5.74,status-load_power: 3.42,status-grid_power: -2.32,status-pv_status: Active,status-load_status: Active,status-updateRefreshRate: 3
     triggerDev SolarEdgePV
     timerevents:
       status-grid_status: Active
       status-unit: kW
       status-storage_status: -
       status-pv_power: 5.74
       status-load_power: 3.42
       status-grid_power: -2.32
       status-pv_status: Active
       status-load_status: Active
       status-updateRefreshRate: 3
     timereventsState:
       status-grid_status: Active
       status-unit: kW
       status-storage_status: -
       status-pv_power: 5.74
       status-load_power: 3.42
       status-grid_power: -2.32
       status-pv_status: Active
       status-load_status: Active
       status-updateRefreshRate: 3
     triggerEvents:
       status-grid_status: Active
       status-unit: kW
       status-storage_status: -
       status-pv_power: 5.74
       status-load_power: 3.42
       status-grid_power: -2.32
       status-pv_status: Active
       status-load_status: Active
       status-updateRefreshRate: 3
     triggerEventsState:
       status-grid_status: Active
       status-unit: kW
       status-storage_status: -
       status-pv_power: 5.74
       status-load_power: 3.42
       status-grid_power: -2.32
       status-pv_status: Active
       status-load_status: Active
       status-updateRefreshRate: 3
   internals:
   perlblock:
   readings:
     all         SolarEdgePV:status-grid_power
   trigger:
   uiState:
   uiTable:
Attributes:
   cmdState   on|off
   do         resetwait
   room       PV


list di_PVerzeugung1up
Internals:
   DEF        ([SolarEdgePV:status-pv_power] > 1 )((set ShellyPlug3,ShellyPlug4 on)) DOELSEIF ([SolarEdgePV:status-pv_power] <= 1 )((set ShellyPlug3,ShellyPlug4 off))
   FUUID      60422e47-f33f-70ee-9b22-71f1e53768a421e7
   MODEL      FHEM
   NAME       di_PVerzeugung1up
   NOTIFYDEV  SolarEdgePV,global
   NR         25
   NTFY_ORDER 50-di_PVerzeugung1up
   STATE      on
   TYPE       DOIF
   VERSION    23858 2021-02-28 19:17:50
   READINGS:
     2021-03-07 09:33:09   Device          SolarEdgePV
     2021-03-07 09:33:09   cmd             1
     2021-03-07 09:33:09   cmd_event       SolarEdgePV
     2021-03-07 09:33:09   cmd_nr          1
     2021-03-07 09:33:09   e_SolarEdgePV_status-pv_power 5.73
     2021-03-05 14:12:39   mode            enabled
     2021-03-07 09:33:09   state           on
     2021-03-06 22:53:41   wait_timer      no timer
   Regex:
     accu:
     cond:
       SolarEdgePV:
         0:
           status-pv_power ^SolarEdgePV$:^status-pv_power:
         1:
           status-pv_power ^SolarEdgePV$:^status-pv_power:
   attr:
     cmdState:
       0:
         on
       1:
         off
     wait:
     waitdel:
   condition:
     0          ::ReadingValDoIf($hash,'SolarEdgePV','status-pv_power') > 1
     1          ::ReadingValDoIf($hash,'SolarEdgePV','status-pv_power') <= 1
   do:
     0:
       0          (set ShellyPlug3,ShellyPlug4 on)
     1:
       0          (set ShellyPlug3,ShellyPlug4 off)
     2:
   helper:
     DEVFILTER  ^global$|^SolarEdgePV$
     NOTIFYDEV  global|SolarEdgePV
     event      status-pv_status: Active,status-load_status: Active,status-updateRefreshRate: 3,status-unit: kW,status-grid_status: Active,status-storage_status: -,status-pv_power: 5.73,status-load_power: 3.43,status-grid_power: -2.3
     globalinit 1
     last_timer 0
     sleepdevice SolarEdgePV
     sleepsubtimer -1
     sleeptimer -1
     timerdev   SolarEdgePV
     timerevent status-pv_status: Active,status-load_status: Active,status-updateRefreshRate: 3,status-unit: kW,status-grid_status: Active,status-storage_status: -,status-pv_power: 5.73,status-load_power: 3.43,status-grid_power: -2.3
     triggerDev SolarEdgePV
     timerevents:
       status-pv_status: Active
       status-load_status: Active
       status-updateRefreshRate: 3
       status-unit: kW
       status-grid_status: Active
       status-storage_status: -
       status-pv_power: 5.73
       status-load_power: 3.43
       status-grid_power: -2.3
     timereventsState:
       status-pv_status: Active
       status-load_status: Active
       status-updateRefreshRate: 3
       status-unit: kW
       status-grid_status: Active
       status-storage_status: -
       status-pv_power: 5.73
       status-load_power: 3.43
       status-grid_power: -2.3
     triggerEvents:
       status-pv_status: Active
       status-load_status: Active
       status-updateRefreshRate: 3
       status-unit: kW
       status-grid_status: Active
       status-storage_status: -
       status-pv_power: 5.73
       status-load_power: 3.43
       status-grid_power: -2.3
     triggerEventsState:
       status-pv_status: Active
       status-load_status: Active
       status-updateRefreshRate: 3
       status-unit: kW
       status-grid_status: Active
       status-storage_status: -
       status-pv_power: 5.73
       status-load_power: 3.43
       status-grid_power: -2.3
   internals:
   perlblock:
   readings:
     all         SolarEdgePV:status-pv_power
   trigger:
   uiState:
   uiTable:
Attributes:
   cmdState   on|off
   do         resetwait
   room       PV


       status-pv_power: 5.74
       status-grid_power: -2.32

Es scheint nur so das er endende nuller ausblendet:

       status-pv_power: 5.73
       status-grid_power: -2.3

Bezüglich des Wait bin ich aber noch immer nocht schlauer... Natürlich schwanken die beiden Werte (status-pv_power / status-grid_power) ganz ordentlich doch gestern ab 18 Uhr waren beide bei 0 (Sonne weg). Also mach das keinen Sinn wenn der Timer erst 90 Minuten später (oder mehr) schaltet ... Außer er wartet statt 300 Minuten bis er 300 mal den Wert gesehen hat der alle 30 Minuten kommt.... Aber dann wären das ja sogar 2,5 Stunden... Kann es das sein???