« Antwort #1 am: 07 Dezember 2021, 11:33:17 »
Hallo Roland,
in dem Du erst nach einer Ladeschwelle überhaupt "losläufst". Ich habe das etwas aufwendiger gemacht, meine Dose hat zunächst mal noch einen geglätteten Zusatzwert powerDiff bekommen:
attr PSD3_Pwr event-aggregator powerDiff::none:median:900
attr PSD3_Pwr event-on-change-reading .*
attr PSD3_Pwr userReadings powerDiff:power:.* difference {ReadingsNum("$name","power",0)}
Mein DOIF sieht kompliziert aus:

defmod di_wm DOIF ([$SELF:"^running:.0$"]) (set PSD3_Sw off) DOELSEIF\
([PSD3_Pwr:power] > 10 )(setreading $SELF running 1) DOELSEIF \
( abs([PSD3_Pwr:powerDiff]) < [?$SELF:threshold] and [PSD3_Pwr:power] < 3 and [?$SELF:running] eq '1')\
(sleep 1;;setreading $SELF running 0)
attr di_wm cmdState Pause|on|off
attr di_wm do resetwait
attr di_wm readingList threshold
attr di_wm room TestPower
attr di_wm setList threshold
attr di_wm wait 0:0:600
setstate di_wm 2021-12-06 05:03:24 running 0
setstate di_wm 2021-08-01 00:20:08 threshold 0.015
Letzlich muss eine gewisse Leistung erreicht werden, am Schluss muss die Ladekurve eine Steigung von nahe null haben, die absolute Schwelle ist mir also egal.
Das Readings threshold muss man setzen, kann man sicher noch besser machen
Gruß Otto
« Letzte Änderung: 07 Dezember 2021, 11:38:28 von Otto123 »

Gespeichert
Viele Grüße aus Leipzig
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz