Waschmaschine fertig

Begonnen von moes, 07 Februar 2016, 09:19:27

Vorheriges Thema - Nächstes Thema

moes

Hallo @all

Ich versuche nun schon ein paar Tage diese Anleitung umzusetzen.
http://www.meintechblog.de/2014/01/homematic-funk-steckdose-mit-leistungsmessung-deine-waschmaschine-ist-fertig/

Der aktuelle Wert wird in den dummy Leistungsmesser_02_Watt geschrieben. Soweit gut. Allerdings finde ich nicht den Fehler warum sich der dummy WaschmaschineHoherVerbrauch ändert. Da der dummy nicht gesetzt wird kann ich auch noch nicht sagen ob die weiteren Schritt funktionieren. Über einen Tip wäre ich sehr dankbar.

Hier der Auszug aus meiner Fhem Config

define Leistungsmesser_02_Watt dummy
attr Leistungsmesser_02_Watt room Bad
define Leistungsmesser_02_WattSet notify Leistungsmesser_02_Pwr {my $power =ReadingsVal("Leistungsmesser_02_Pwr","power","");; fhem ("set Leistungsmesser_02_Watt $power")}
attr Leistungsmesser_02_WattSet room Bad


#Dummy WaschmaschineBetrieb einschalten bei Verbrauch größer 30 Watt
define WaschmaschineBetriebAn notify Waschmaschine_Pwr:power.* {fhem ("set WaschmaschineBetriebAn on;; setstate WaschmaschineAutoOff defined") if (ReadingsVal("Waschmaschine_Pwr","power","") >= 30 && Value("WaschmaschineBetriebAn") eq "on")}
attr WaschmaschineBetriebAn room Bad
#Dummy WaschmaschineHoherVerbrauch definieren
define WaschmaschineHoherVerbrauch dummy
attr WaschmaschineHoherVerbrauch event-on-change-reading state
attr WaschmaschineHoherVerbrauch room Bad

#Dummy WaschmaschineHoherVerbrauch einschalten bei Verbrauch größer 5 Watt bei laufendem Betrieb
define WaschmaschineHoherVerbrauchAn notify Waschmaschine_Pwr:power.* {fhem ("set WaschmaschineHoherVerbrauch on;; setstate WaschmaschineAutoStandby defined") if (ReadingsVal("Waschmaschine_Pwr","power","") > 5 && Value("WaschmaschineBetriebAn") eq "on")}
attr WaschmaschineHoherVerbrauchAn room Bad
#Dummy WaschmaschineHoherVerbrauch ausschalten bei Verbrauch kleiner gleich 5 Watt bei laufendem Betrieb
define WaschmaschineHoherVerbrauchAus notify Waschmaschine_Pwr:power.* {fhem ("set WaschmaschineHoherVerbrauch off") if (ReadingsVal("Waschmaschine_Pwr","power","") <= 5 && Value("WaschmaschineBetriebAn") eq "on")}
attr WaschmaschineHoherVerbrauchAus room Bad

#Wenn der Verbrauchswert für mindestens 5 Minuten bei laufendem Betrieb unter obigem Schwellwert (5 Watt) verbleibt, wird angenommen, dass der Waschvorgang tatsächlich abgeschlossen ist
define WaschmaschineAutoStandby watchdog WaschmaschineHoherVerbrauch:off 00:05 WaschmaschineHoherVerbrauch:on set WaschmaschineBetriebAn standby
attr WaschmaschineAutoStandby regexp1WontReactivate 1
attr WaschmaschineAutoStandby room Bad

Ellert

Ich habe es mit einem DOIF gelöst:

Ergänzter Auszug aus dem DEF-Editor:
Waschmasch_di DOIF ([Waschmaschine_Pwr:power] > 0.1 and [?Waschmasch_di] =~ "cmd_4|initialized")
      (({Log 3, "Waschmaschine: Ein"}))## Schalter ein
DOELSEIF ([Waschmaschine_Pwr:power] > 20 and [?Waschmasch_di] eq "cmd_1")
     (({Log 3, "Waschmaschine: Programmstart"}))
DOELSEIF ([Waschmaschine_Pwr:power] > 20 and [?Waschmasch_di] eq "cmd_2") ## Ende (wenn länger als 5 min < 20)
     (({Log 3, "Waschmaschine: Programmende"}))
DOELSEIF ([Waschmaschine_Pwr:power] < 0.1 or [Waschmaschine_Pwr:power] > 20 and [?Waschmasch_di] eq "cmd_3")
     (({Log 3, "Waschmaschine: Aus"}))## Schalter aus oder Neustart ohne aus


und die Attribute

do resetwait
repeatcmd 0:0:300:0
wait 0:0:300:0


Das DOIF startet, wenn die Waschmaschine aus ist (cmd_4) oder das DOIF initialisiert ist und power > 0.1 ist.
Wenn power > 20 nach cmd_1 wird der Programmstart angezeigt.
Wenn power länger als 5 Minuten unter 20 liegt nach cmd_2, dann ist die Maschine fertig.
Nach cmd_3 und bei power < 0.1 ist die Maschine ausgeschaltet oder falls eine weitere Maschine gewaschen wird, ohne auszuschalten, geht die Maschine über "Aus" (cmd_4) in den "Ein" Zustand.

siehe http://fhem.de/commandref_DE.html#DOIF

Yil

#2
Coole Sache. Ich hab den DOIF-Ausdruck mal bei mir übernommen und auf einen Fibaro-Stecker angewandt mit dem Ergebnis, dass dieser bei:

ZWAVE_Schalter_6:power

z.B. einen  Wert von "20.4 W" ausgibt.

Frage hierzu: wie filtert man das Leerzeichen und das "W" weg, so dass sich ein korrekter numerischer Ausdruck ergibt?

(Ich weiß, Anfängerfrage ...)

VG Yil
HM CCU2 mit ca. 35 HM-Komponenten inkl. Bausätzen
fhem auf RPi mit Sonos, EnOcean-CUL, ZWAVE-CUL und Bluetooth
Osram Lightify

CoolTux

Gib mal Deinen ganzen Code bitte.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Bennemannc

Hallo,

commandref lesen - readingsnum finden - umsetzen als userReading und das nehmen.

Gruß Christoph

PS. Das habe ich auch gerade erst nachgeschaut ;-)
Cubietruck, Fhem 5.8
CC-RT-DN|LC-SW2-FM|RC-12|RC-19|LC-SW4-BA-PCB|LCp-SW1-BA-PCB|ES-PMSw1-Pl|LC-Bl1PBU-FM|PBI-4-FM|CC-VD|CC-TC|SEC-SC(2)|RC-KEY3-B|LC-Sw1PBU-FM|PB-2-FM|WDS100-C6-O|WDC7000|LC-Bl1-FM
Module: Dewpoint,FB_Callmonitor,HCS,Panstamp,at,notify,THRESHOLD,average,DOIF

Damian

Zitat von: Yil am 14 Februar 2016, 21:57:42
Colle Sache. Ich hab den DOIF-Ausdruck mal bei mir übernommen und auf einen Fibaro-Stecker angewandt mit dem Ergebnis, dass dieser bei:

ZWAVE_Schalter_6:power

z.B. einen  Wert von "20.4 W" ausgibt.

Frage hierzu: wie filtert man das Leerzeichen und das "W" weg, so dass sich ein korrekter numerischer Ausdruck ergibt?

(Ich weiß, Anfängerfrage ...)

VG Yil
[ZWAVE_Schalter_6:power:d]

http://fhem.de/commandref_DE.html#DOIF_Filtern_nach_Zahlen

Gruß

Damian
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Yil

Das DOIF-Modul ist schon der Hammer!  8) Danke!

Zur Vollständigkeit der ganze (nun aktualisierte Code):

define Waschmasch_di DOIF ([ZWAVE_Schalter_6:power:d] > 0.1 and [?Waschmasch_di] =~ "cmd_4|initialized") \
      (({Log 3, "Waschmaschine: Ein"}))  \
DOELSEIF ([ZWAVE_Schalter_6:power:d] > 20 and [?Waschmasch_di] eq "cmd_1") \
     (({Log 3, "Waschmaschine: Programmstart"})) \
DOELSEIF ([ZWAVE_Schalter_6:power:d] > 20 and [?Waschmasch_di] eq "cmd_2") \
     (({Log 3, "Waschmaschine: Programmende"})) \
DOELSEIF ([ZWAVE_Schalter_6:power:d] < 0.1 or [ZWAVE_Schalter_6:power:d] > 20 and [?Waschmasch_di] eq "cmd_3") \
     (({Log 3, "Waschmaschine: Aus"}))
HM CCU2 mit ca. 35 HM-Komponenten inkl. Bausätzen
fhem auf RPi mit Sonos, EnOcean-CUL, ZWAVE-CUL und Bluetooth
Osram Lightify

kvo1

RPi1: mit CUL: HM-CC-RT-DN,HM-ES-PMSw1-Pl,HM-LC-BL1-FM,HM-LC-Bl1PBU-FM,HM-LC-SW1-PL2,HM-SCI-3-FM,HM-SEC-SC-2,KFM-Sensor
RPi2: Viessmann(optolink) mit 99_VCONTROL.pm,
Cubietruck: Wheezy / Apache / Owncloud
Cubietruck: Armbian(Jessie) / fhem 5.7 / LMS 7.9
RPi3: (Test) mit 7" Touch  &  HM-MOD-RPI-PCB

willib

Die Aus Meldung kommt, so wie ich das sehe, nur wenn alle Schleifen durchlaufen sind. Wie bekomme ich den Status der Maschine sauber dargestellt wenn ich die Maschine zwischendurch abschalte? z.B. Weil ich sie versehentlich eingeschaltet habe?
Müsste hier nicht ein < stehen?DOELSEIF ([ZWAVE_Schalter_6:power:d] > 20 and [?Waschmasch_di] eq "cmd_2") \
     (({Log 3, "Waschmaschine: Programmende"})) \


FHEM in Debian 10 LXC unter Proxmox auf NUC, Homematic, Hue, Intertechno, Jeelink, RFXTRX, Harmony Hub, VU+ Uno 4K, Sonos, AMAD

Ellert

Wie bekomme ich den Status der Maschine sauber dargestellt wenn ich die Maschine zwischendurch abschalte? z.B. Weil ich sie versehentlich eingeschaltet habe?
ZitatDOELSEIF ([ZWAVE_Schalter_6:power:d] < 0.1 or ...

Einfach mal ausprobieren ;)

willib

#10
Ich bekomme mit dem Code von Yil einen Error in den readings.
condition c02: Unrecognized character \xC2; marked by <-- HERE after ','d') > 4<-- HERE near column 56, line 1.
Was muss ich tun um den los zu werden?
Danke
FHEM in Debian 10 LXC unter Proxmox auf NUC, Homematic, Hue, Intertechno, Jeelink, RFXTRX, Harmony Hub, VU+ Uno 4K, Sonos, AMAD

Ellert

#11
Ersetze das nicht erkannte Zeichen durch eines, das Perl kennt oder lösche es.

willib

Danke für den Hinweis. Leider verstehe ich nicht welches das nicht erkannte Zeichen ist. Ich habe den code eins zu eins von Yil übernommen.
FHEM in Debian 10 LXC unter Proxmox auf NUC, Homematic, Hue, Intertechno, Jeelink, RFXTRX, Harmony Hub, VU+ Uno 4K, Sonos, AMAD

Ellert

Zitat von: willib am 14 Januar 2018, 10:32:28
Danke für den Hinweis. Leider verstehe ich nicht welches das nicht erkannte Zeichen ist. Ich habe den code eins zu eins von Yil übernommen.
Es ist das Zeichen mit Hex-Format \xC2, wie hier gemeldet: Unrecognized character \xC2.

willib

Ich habe mal die Leerzeichen hinter 4 gelöscht und neu geschrieben. Hier war anscheinend das \xC2 unsichtbar drin. Jetzt geht es. Danke.
FHEM in Debian 10 LXC unter Proxmox auf NUC, Homematic, Hue, Intertechno, Jeelink, RFXTRX, Harmony Hub, VU+ Uno 4K, Sonos, AMAD

willib

Danke für den Code.
Bei mir funktioniert es jetzt wie gewünscht. Dies ist mein korrigiertes DOIF
define Waschmasch_di DOIF ([ZWAVE_Schalter_6:power:d] > 0.1 and [?Waschmasch_di] =~ "cmd_4|initialized") \
      (({Log 3, "Waschmaschine: Ein"}))  \
DOELSEIF ([ZWAVE_Schalter_6:power:d] > 20 and [?Waschmasch_di] eq "cmd_1") \
     (({Log 3, "Waschmaschine: Programmstart"})) \
DOELSEIF ([ZWAVE_Schalter_6:power:d] < 20 and [?Waschmasch_di] eq "cmd_2") \
     (({Log 3, "Waschmaschine: Programmende"})) \
DOELSEIF ([ZWAVE_Schalter_6:power:d] < 0.1 or [ZWAVE_Schalter_6:power:d] > 20 and [?Waschmasch_di] eq "cmd_3") \
     (({Log 3, "Waschmaschine: Aus"}))

Habe in cmd_3 das größer in ein kleiner geändert.
Außerdem darf in meinem Fall das Attribut do resetwait nicht verwendet werden. Dieses setzt bei jedem neuen Wert von power den waittimer zurück. Das führt dazu, dass cmd_3 nie ausgeführt wird.
FHEM in Debian 10 LXC unter Proxmox auf NUC, Homematic, Hue, Intertechno, Jeelink, RFXTRX, Harmony Hub, VU+ Uno 4K, Sonos, AMAD

ahlermi

Hallo,

Ich habe das Script verwendet, das Problem ist nur das ich ohne das "do resetwait" mehrere fertig Meldungen bekomme, und mit "do resetwait" keine mehr, da wird der timer bei cmd_3 immer weiter verlängert.

Der Wert vom Watt Meter liegt um 3,5W minimal höher oder tiefer.

Einer eine Idee?

Gruß Michael
PI4 FHEM, PI3 FHEM, 6 x Echo mit talk2fhem, Siri, SNIPS auf PI3 mit Samson UB1, YeeLight, Homematic, MAX!, 433Mhz, LaCross, Xiaomi Vacuum V1, ESPEasy, Gardena, Telegram, FLOORPLAN, HEOS, Xiaomi Aqara, Sonoff, SolvisMax, SolvisClient, HUE, ESPEasy für Bayernlüfter, Harmony, Tasmota, JKBMS, EASUN

willib

Wenn du mehrere Fertigmeldungen im abstand von 5 Minuten bekommst liegt das am Attribut
repeatcmd 0:0:300:0
Wenn das DOIF nach der ersten Fertigmeldung mehrmals über Aus nach Ein nach Programmende läuft passen deine Parameter nicht.
Du musst schauen welche Leistung die Maschine nach der Fertigmeldung über welchen Zeitraum zieht. Dann kannst du mit dem Attribut wait die Verzögerung anpassen oder in dieser Zeile
DOELSEIF ([ZWAVE_Schalter_6:power:d] < 0.1 or [ZWAVE_Schalter_6:power:d] > 20 and [?Waschmasch_di] eq "cmd_3") \
den Wert 20 erhöhen auf einen Wert bei dem die Maschine sicher wieder läuft. z.B. auf 500( wenn die Heizung anspringt)
Du musst halt auf die gemessenen Watt schauen und ein bisschen rumspielen.
Ich habe mir dazu die Messwerte in ein Log schreiben lassen.
FHEM in Debian 10 LXC unter Proxmox auf NUC, Homematic, Hue, Intertechno, Jeelink, RFXTRX, Harmony Hub, VU+ Uno 4K, Sonos, AMAD

ahlermi

Das Problem ist nicht das ich mehrer Meldungen bekomme, sondern das diese zu früh kommen (Noch nicht Fertig).

2018.05.23 20:03:29 3: Waschmaschine: Ein
2018.05.23 20:03:31 3: Waschmaschine: Programmstart
2018.05.23 20:13:49 3: Waschmaschine: Programmende
2018.05.23 20:13:58 3: Waschmaschine: Aus
2018.05.23 20:14:05 3: Waschmaschine: Ein
2018.05.23 20:14:13 3: Waschmaschine: Programmstart
2018.05.23 20:19:22 3: Waschmaschine: Programmende
2018.05.23 20:19:24 3: Waschmaschine: Aus
2018.05.23 20:19:33 3: Waschmaschine: Ein
2018.05.23 20:19:40 3: Waschmaschine: Programmstart

So wie ich das DOIF verstehe erlaubt "repeatcmd 0:0:300:0" 300 mal das cmd_3 if zu erreichen

Irgendwie fehlt ein Befehl der verhindert das cmd_3 erreicht wird nachdem der timer abgelaufen ist.
Nach meine verständnis ist das "do resetwait", der soll aber für cmd_3 nicht ausgelöst werden, also vlt mit "repeatcmd 0:0:1:0"  ???

PI4 FHEM, PI3 FHEM, 6 x Echo mit talk2fhem, Siri, SNIPS auf PI3 mit Samson UB1, YeeLight, Homematic, MAX!, 433Mhz, LaCross, Xiaomi Vacuum V1, ESPEasy, Gardena, Telegram, FLOORPLAN, HEOS, Xiaomi Aqara, Sonoff, SolvisMax, SolvisClient, HUE, ESPEasy für Bayernlüfter, Harmony, Tasmota, JKBMS, EASUN

ahlermi

Ups, das war repeatsame mit dem nur X mal
PI4 FHEM, PI3 FHEM, 6 x Echo mit talk2fhem, Siri, SNIPS auf PI3 mit Samson UB1, YeeLight, Homematic, MAX!, 433Mhz, LaCross, Xiaomi Vacuum V1, ESPEasy, Gardena, Telegram, FLOORPLAN, HEOS, Xiaomi Aqara, Sonoff, SolvisMax, SolvisClient, HUE, ESPEasy für Bayernlüfter, Harmony, Tasmota, JKBMS, EASUN

ahlermi

#20
Ich habe es jetzt gelöst, kann nicht verstehen wie die Lösung von willib funktionieren kann, bei mir wird nur ein Timer auf 5 Minuten gestellt, der in jedem Fall auslöst, auch wenn wieder mehr Strom verbraucht wird.

([waschdummy] > 0.1 and [?di_waschmaschine_simulation] =~ "cmd_5|initialized|initialize")
  (({Log 3, "WaschDummy: Ein"}))
DOELSEIF ([waschdummy] > 20 and [?di_waschmaschine_simulation] eq "cmd_1")
  (({Log 3, "WaschDummy: Programmstart"}))
DOELSEIF ([waschdummy] > 20 and [?di_waschmaschine_simulation] =~ "cmd_2|cmd_3")
  (({Log 3, "WaschDummy: noch nicht Ende"})) 
DOELSEIF ([waschdummy] < 5 and [?di_waschmaschine_simulation]  =~ "cmd_2|cmd_3")
  (({Log 3, "WaschDummy: Programmende"}))
DOELSEIF ([waschdummy] < 0.1 or [waschdummy] > 20 and [?di_waschmaschine_simulation] eq "cmd_4")
  (({Log 3, "WaschDummy: Aus"}))


Attribute

wait         0:0:0:300:0
devStateIcon cmd_1:scene_washing_machine@green cmd_2:scene_washing_machine@orange cmd_3:scene_washing_machine@orange cmd_4:scene_washing_machine@yellow .*:scene_washing_machine
PI4 FHEM, PI3 FHEM, 6 x Echo mit talk2fhem, Siri, SNIPS auf PI3 mit Samson UB1, YeeLight, Homematic, MAX!, 433Mhz, LaCross, Xiaomi Vacuum V1, ESPEasy, Gardena, Telegram, FLOORPLAN, HEOS, Xiaomi Aqara, Sonoff, SolvisMax, SolvisClient, HUE, ESPEasy für Bayernlüfter, Harmony, Tasmota, JKBMS, EASUN

thomaso

Ich versuche nun schon etwas länger das "Problem" in den Griff zu bekommen, scheitere jedoch noch an der richtigen Umsetzung  ;D

Ich habe das DOIF auch bei mir so übernommen und es lauft auch super durch bis zum "Programmende". Dieses wird dann nach 5 Minuten warten ausgeführt. Hier sende ich dann eine Notification vom Raspbery aus UND aktiviere zeitgleich ein Notify, welches nach 30 Minuten eine Erinnerung schickt bzgl. ausräumen.
Jedoch wird der Status Programmende nun alle 5 Minuten ausgeführt und der Timer immer wieder neu gesetzt und auch die Notification neu geschickt.
Wie kann ich das beheben bzw vl einbauen, dass er dies nicht mehr tut, so bald das Erinnerungsnotify aktiv ist.

Vielen Dank im Voraus für einen Tipp.

Aktuell sieht es so aus:
define Waschmasch_di DOIF ([WaschmaschineWatt:state] > 0.5 and [?Waschmasch_di] =~ "cmd_4|initialized") \
      (({Log 3, "Waschmaschine: Ein"}))  \
DOELSEIF ([WaschmaschineWatt:state] > 10 and [?Waschmasch_di] eq "cmd_1") \
     (({Log 3, "Waschmaschine: Programmstart"}), ({my $power = int(ReadingsVal("HM_5384E8_Pwr","state",""));; fhem ("set WaschmaschineWattStart $power")})) \
DOELSEIF ([WaschmaschineWatt:state] > 10 and [?Waschmasch_di] eq "cmd_2") \
     (({Log 3, "Waschmaschine: Programmende"}), ("raspberry system aufruf für notification"), (set n_WaschmaschineReminder modifyTimeSpec 00:30:00), (set n_WaschmaschineReminder active)) \
DOELSEIF ([WaschmaschineWatt:state] < 0.5 or [WaschmaschineWatt:state] > 10 and [?Waschmasch_di] eq "cmd_3") \
     (({Log 3, "Waschmaschine: Aus"}))
attr Waschmasch_di do resetwait
attr Waschmasch_di repeatcmd 0:0:300:0
attr Waschmasch_di room System
attr Waschmasch_di wait 0:0:300:0
Raspberry Pi 3
CUL USB Stick
FHEM mit HM_SEC_SC2, HM-Sen-MDIR-WM55, HM-CC-RT-DN, HM-TC-IT-WM-W-EU, HM-SEC-SIR-WM
MiLight WLAN Modul + paar RGBW LED Lampen

willib

Was ist genau der Fehler? Wenn du nicht alle fünf Minuten erinnert werden willst lösche
attr Waschmasch_di repeatcmd 0:0:300:0
Wenn die Erinnerungen weiter kommen obwohl die Maschine aus ist, erreichst du cmd4 nicht. Dann musst du schauen ob du die Wattzahlen richtig gesetzt hast.
FHEM in Debian 10 LXC unter Proxmox auf NUC, Homematic, Hue, Intertechno, Jeelink, RFXTRX, Harmony Hub, VU+ Uno 4K, Sonos, AMAD

thomaso

Danke für den Tipp.
Dachte mir anfangs, dass das DOIF dieses Reading benötigt, aber nach dem Versuch mal ohne dem, hat es natürlich genau so funktioniert.

Danke!
Raspberry Pi 3
CUL USB Stick
FHEM mit HM_SEC_SC2, HM-Sen-MDIR-WM55, HM-CC-RT-DN, HM-TC-IT-WM-W-EU, HM-SEC-SIR-WM
MiLight WLAN Modul + paar RGBW LED Lampen

ikuzus600

#24
Hi, ich bin eben vor dem gleichen Problem gestanden und habe den Fehler gefunden. Anstelle der "eq" muss "ne" stehen. Dann erhalten die Dummys die Werte.

#Dummy WaschmaschineBetrieb einschalten bei Verbrauch größer 30 Watt
define WaschmaschineBetriebAn notify Waschmaschine_Pwr:power.* {fhem ("set WaschmaschineBetriebAn on;; setstate WaschmaschineAutoOff defined") if (ReadingsVal("Waschmaschine_Pwr","power","") >= 30 && Value("WaschmaschineBetriebAn") ne "on")}
attr WaschmaschineBetriebAn room Bad
#Dummy WaschmaschineHoherVerbrauch definieren
define WaschmaschineHoherVerbrauch dummy
attr WaschmaschineHoherVerbrauch event-on-change-reading state
attr WaschmaschineHoherVerbrauch room Bad

#Dummy WaschmaschineHoherVerbrauch einschalten bei Verbrauch größer 5 Watt bei laufendem Betrieb
define WaschmaschineHoherVerbrauchAn notify Waschmaschine_Pwr:power.* {fhem ("set WaschmaschineHoherVerbrauch on;; setstate WaschmaschineAutoStandby defined") if (ReadingsVal("Waschmaschine_Pwr","power","") > 5 && Value("WaschmaschineBetriebAn") ne "on")}
attr WaschmaschineHoherVerbrauchAn room Bad
#Dummy WaschmaschineHoherVerbrauch ausschalten bei Verbrauch kleiner gleich 5 Watt bei laufendem Betrieb
define WaschmaschineHoherVerbrauchAus notify Waschmaschine_Pwr:power.* {fhem ("set WaschmaschineHoherVerbrauch off") if (ReadingsVal("Waschmaschine_Pwr","power","") <= 5 && Value("WaschmaschineBetriebAn") ne "on")}
attr WaschmaschineHoherVerbrauchAus room Bad

#Wenn der Verbrauchswert für mindestens 5 Minuten bei laufendem Betrieb unter obigem Schwellwert (5 Watt) verbleibt, wird angenommen, dass der Waschvorgang tatsächlich abgeschlossen ist
define WaschmaschineAutoStandby watchdog WaschmaschineHoherVerbrauch:off 00:05 WaschmaschineHoherVerbrauch:on set WaschmaschineBetriebAn standby
attr WaschmaschineAutoStandby regexp1WontReactivate 1
attr WaschmaschineAutoStandby room Bad

So sehen bei mir dann die Statuse im Betrieb aus:

HR.WaschmaschineBetrieb on; setstate HRWaschmaschineAutoOff defined
HR.WaschmaschineHoherVerbrauch on; setstate HRWaschmaschineAutoStandby defined

michisa86888

Hallo zusammen,
ich bin noch ziemlicher Anfänger habe aber schon ein wenig mit FHEM zustande gebracht.
Nun bin ich dabei mein ersten DOIF Befehl zu erstellen. Bekomme es aber nicht hin.
Meine aktuellen Vorraussetzungen:
- Sonoff POW per MQTT2 an FHEM angebunden
- READINGS kommen bei FHEM an

Mein Plan das ganze jetzt statt Waschmaschine auf Trockner umzusetzen. Also wenn Trockner fertig ist.
Wie muss sollte ich mein DOIF konfigurieren?
Readings im Anhang als Screenshot...


hoppel118

#26
Zitat von: ahlermi am 24 Mai 2018, 11:56:43
Ich habe es jetzt gelöst, kann nicht verstehen wie die Lösung von willib funktionieren kann, bei mir wird nur ein Timer auf 5 Minuten gestellt, der in jedem Fall auslöst, auch wenn wieder mehr Strom verbraucht wird.

Hallo Leute,

auch wenn der Thread schon älter ist, habe ich hier für meine Waschmaschine die Lösung gefunden. Danke dafür. Ich habe alles durchprobiert, was der Thread so hergibt, bis ich bei der Lösung @ahlermi gelandet bin, die dann nach ein Bisschen Justage so funktioniert, wie es sein soll. Der Vollständigkeit halber, hier die an meine Waschmaschine angepasste Lösung:

define di_Waschmaschine DOIF ([EG_HWR_Strom_Waschmaschine_Pwr:power:d] > 0.1 and [?di_Waschmaschine] =~ "cmd_5|initialized|initialize")
  (({Log 3, "Waschmaschine eingeschaltet"}))
DOELSEIF ([EG_HWR_Strom_Waschmaschine_Pwr:power:d] > 20 and [?di_Waschmaschine] eq "cmd_1")
  (({Log 3, "Waschmaschine Programm wurde gestartet"}))
DOELSEIF ([EG_HWR_Strom_Waschmaschine_Pwr:power:d] > 20 and [?di_Waschmaschine] =~ "cmd_2|cmd_3")
  (({Log 3, "Waschmaschine Programm wird ausgeführt"}))
DOELSEIF ([EG_HWR_Strom_Waschmaschine_Pwr:power:d] < 2.5 and [?di_Waschmaschine]  =~ "cmd_2|cmd_3")
  (({Log 3, "Waschmaschine Programm wurde beendet"}))
DOELSEIF ([EG_HWR_Strom_Waschmaschine_Pwr:power:d] < 0.1 or [EG_HWR_Strom_Waschmaschine_Pwr:power:d] > 20 and [?di_Waschmaschine] eq "cmd_4")
  (({Log 3, "Waschmaschine ausgeschaltet"}))


und hier noch die Attribute:

attr di_Waschmaschine wait         0:0:0:300:0
attr di_Waschmaschine devStateIcon cmd_1:scene_washing_machine@green cmd_2:scene_washing_machine@yellow cmd_3:scene_washing_machine@orange cmd_4:scene_washing_machine@green .*:scene_washing_machine


Im Logfile sehe ich dann folgendes:

2019.05.29 14:20:19 3: Waschmaschine eingeschaltet
2019.05.29 14:21:51 3: Waschmaschine Programm wurde gestartet
2019.05.29 14:27:10 3: Waschmaschine Programm wird ausgeführt
2019.05.29 16:04:42 3: Waschmaschine Programm wurde beendet
2019.05.29 16:16:18 3: Waschmaschine ausgeschaltet


Super, vielen Dank nochmal!

Nun möchte ich das ganze auch für meinen Trockner umsetzen. Dies bereitet mir allerdings etwas Kopfzerbrechen. Vielleicht habt ihr eine Idee, was man machen kann.

Grundsätzlich passt alles. Allerdings spielt mein Trockner am Ende des Programms verrückt. Es gibt keine konstanten Verbrauchszahlen (Watt). Hier ein Auszug aus dem Filelog für das Reading "power" vom Start des Gerätes, über Trocknungsprogramm bis hin zum Ausschalten:


Wäschetrockner aus:

2019-05-29_13:18:37 EG_HWR_Strom_Waeschetrockner_Pwr power: 0
2019-05-29_13:21:25 EG_HWR_Strom_Waeschetrockner_Pwr power: 0.01
2019-05-29_13:23:59 EG_HWR_Strom_Waeschetrockner_Pwr power: 0.02
2019-05-29_13:26:19 EG_HWR_Strom_Waeschetrockner_Pwr power: 0.01
2019-05-29_13:28:24 EG_HWR_Strom_Waeschetrockner_Pwr power: 0.02
2019-05-29_13:31:19 EG_HWR_Strom_Waeschetrockner_Pwr power: 0.02
2019-05-29_13:33:59 EG_HWR_Strom_Waeschetrockner_Pwr power: 0
2019-05-29_13:36:25 EG_HWR_Strom_Waeschetrockner_Pwr power: 0.02
2019-05-29_13:38:36 EG_HWR_Strom_Waeschetrockner_Pwr power: 0.01
2019-05-29_13:41:37 EG_HWR_Strom_Waeschetrockner_Pwr power: 0.01
2019-05-29_13:44:24 EG_HWR_Strom_Waeschetrockner_Pwr power: 0.01
2019-05-29_13:46:56 EG_HWR_Strom_Waeschetrockner_Pwr power: 0.02
2019-05-29_13:49:14 EG_HWR_Strom_Waeschetrockner_Pwr power: 0.02

Wäschetrockner eingeschaltet:

2019-05-29_13:51:17 EG_HWR_Strom_Waeschetrockner_Pwr power: 2

Wäschetrockner Programm gestartet:

2019-05-29_13:52:25 EG_HWR_Strom_Waeschetrockner_Pwr power: 408.84
2019-05-29_13:52:26 EG_HWR_Strom_Waeschetrockner_Pwr power: 408.84
2019-05-29_13:52:33 EG_HWR_Strom_Waeschetrockner_Pwr power: 245.88
2019-05-29_13:53:25 EG_HWR_Strom_Waeschetrockner_Pwr power: 519.6
2019-05-29_13:53:33 EG_HWR_Strom_Waeschetrockner_Pwr power: 511.64
2019-05-29_13:53:34 EG_HWR_Strom_Waeschetrockner_Pwr power: 511.64
2019-05-29_13:53:36 EG_HWR_Strom_Waeschetrockner_Pwr power: 511.64
2019-05-29_13:54:10 EG_HWR_Strom_Waeschetrockner_Pwr power: 500.55
2019-05-29_13:54:48 EG_HWR_Strom_Waeschetrockner_Pwr power: 485.37
2019-05-29_13:55:01 EG_HWR_Strom_Waeschetrockner_Pwr power: 511.83
2019-05-29_13:56:49 EG_HWR_Strom_Waeschetrockner_Pwr power: 506.48
2019-05-29_13:59:13 EG_HWR_Strom_Waeschetrockner_Pwr power: 522.66
2019-05-29_13:59:41 EG_HWR_Strom_Waeschetrockner_Pwr power: 536.01
2019-05-29_13:59:49 EG_HWR_Strom_Waeschetrockner_Pwr power: 509.2
2019-05-29_13:59:50 EG_HWR_Strom_Waeschetrockner_Pwr power: 509.2
2019-05-29_14:00:26 EG_HWR_Strom_Waeschetrockner_Pwr power: 543.38
2019-05-29_14:01:23 EG_HWR_Strom_Waeschetrockner_Pwr power: 532.25
2019-05-29_14:04:22 EG_HWR_Strom_Waeschetrockner_Pwr power: 532.55
2019-05-29_14:06:28 EG_HWR_Strom_Waeschetrockner_Pwr power: 558.43
2019-05-29_14:06:51 EG_HWR_Strom_Waeschetrockner_Pwr power: 534.8
2019-05-29_14:07:07 EG_HWR_Strom_Waeschetrockner_Pwr power: 548.18
2019-05-29_14:07:27 EG_HWR_Strom_Waeschetrockner_Pwr power: 565.88
2019-05-29_14:09:37 EG_HWR_Strom_Waeschetrockner_Pwr power: 567.59
2019-05-29_14:11:53 EG_HWR_Strom_Waeschetrockner_Pwr power: 561.29
2019-05-29_14:12:27 EG_HWR_Strom_Waeschetrockner_Pwr power: 483.44
2019-05-29_14:12:35 EG_HWR_Strom_Waeschetrockner_Pwr power: 236.48
2019-05-29_14:12:37 EG_HWR_Strom_Waeschetrockner_Pwr power: 236.48
2019-05-29_14:12:38 EG_HWR_Strom_Waeschetrockner_Pwr power: 236.48
2019-05-29_14:12:41 EG_HWR_Strom_Waeschetrockner_Pwr power: 236.48
2019-05-29_14:12:46 EG_HWR_Strom_Waeschetrockner_Pwr power: 236.48
2019-05-29_14:12:46 EG_HWR_Strom_Waeschetrockner_Pwr power: 232.17
2019-05-29_14:12:47 EG_HWR_Strom_Waeschetrockner_Pwr power: 232.17
2019-05-29_14:12:49 EG_HWR_Strom_Waeschetrockner_Pwr power: 232.17
2019-05-29_14:13:55 EG_HWR_Strom_Waeschetrockner_Pwr power: 219.55
2019-05-29_14:15:28 EG_HWR_Strom_Waeschetrockner_Pwr power: 595.51
2019-05-29_14:15:29 EG_HWR_Strom_Waeschetrockner_Pwr power: 595.51
2019-05-29_14:15:36 EG_HWR_Strom_Waeschetrockner_Pwr power: 576.07
2019-05-29_14:15:37 EG_HWR_Strom_Waeschetrockner_Pwr power: 576.07
2019-05-29_14:15:39 EG_HWR_Strom_Waeschetrockner_Pwr power: 576.07
2019-05-29_14:15:41 EG_HWR_Strom_Waeschetrockner_Pwr power: 576.07
2019-05-29_14:16:46 EG_HWR_Strom_Waeschetrockner_Pwr power: 579.57
2019-05-29_14:19:22 EG_HWR_Strom_Waeschetrockner_Pwr power: 574.58
2019-05-29_14:20:28 EG_HWR_Strom_Waeschetrockner_Pwr power: 597.71
2019-05-29_14:21:45 EG_HWR_Strom_Waeschetrockner_Pwr power: 597.44
2019-05-29_14:23:52 EG_HWR_Strom_Waeschetrockner_Pwr power: 594.15
2019-05-29_14:26:50 EG_HWR_Strom_Waeschetrockner_Pwr power: 606.12
2019-05-29_14:27:29 EG_HWR_Strom_Waeschetrockner_Pwr power: 617
2019-05-29_14:27:52 EG_HWR_Strom_Waeschetrockner_Pwr power: 597.43
2019-05-29_14:28:29 EG_HWR_Strom_Waeschetrockner_Pwr power: 622.93
2019-05-29_14:29:33 EG_HWR_Strom_Waeschetrockner_Pwr power: 626.33
2019-05-29_14:32:01 EG_HWR_Strom_Waeschetrockner_Pwr power: 621.04
2019-05-29_14:34:16 EG_HWR_Strom_Waeschetrockner_Pwr power: 629.95
2019-05-29_14:35:31 EG_HWR_Strom_Waeschetrockner_Pwr power: 650.93
2019-05-29_14:40:09 EG_HWR_Strom_Waeschetrockner_Pwr power: 647.83
2019-05-29_14:42:44 EG_HWR_Strom_Waeschetrockner_Pwr power: 665.83
2019-05-29_14:45:04 EG_HWR_Strom_Waeschetrockner_Pwr power: 658.36
2019-05-29_14:46:30 EG_HWR_Strom_Waeschetrockner_Pwr power: 675.71
2019-05-29_14:47:10 EG_HWR_Strom_Waeschetrockner_Pwr power: 658.86
2019-05-29_14:50:06 EG_HWR_Strom_Waeschetrockner_Pwr power: 663.01
2019-05-29_14:52:47 EG_HWR_Strom_Waeschetrockner_Pwr power: 676.56
2019-05-29_14:55:14 EG_HWR_Strom_Waeschetrockner_Pwr power: 668.39
2019-05-29_14:57:26 EG_HWR_Strom_Waeschetrockner_Pwr power: 665.37
2019-05-29_14:57:42 EG_HWR_Strom_Waeschetrockner_Pwr power: 293.52
2019-05-29_14:57:50 EG_HWR_Strom_Waeschetrockner_Pwr power: 245.5
2019-05-29_14:57:58 EG_HWR_Strom_Waeschetrockner_Pwr power: 196.01
2019-05-29_14:58:06 EG_HWR_Strom_Waeschetrockner_Pwr power: 235.25
2019-05-29_14:59:58 EG_HWR_Strom_Waeschetrockner_Pwr power: 20.81
2019-05-29_15:00:06 EG_HWR_Strom_Waeschetrockner_Pwr power: 221.74
2019-05-29_15:00:28 EG_HWR_Strom_Waeschetrockner_Pwr power: 213.39
2019-05-29_15:00:42 EG_HWR_Strom_Waeschetrockner_Pwr power: 506.12
2019-05-29_15:00:50 EG_HWR_Strom_Waeschetrockner_Pwr power: 653.88
2019-05-29_15:01:02 EG_HWR_Strom_Waeschetrockner_Pwr power: 691.12
2019-05-29_15:01:10 EG_HWR_Strom_Waeschetrockner_Pwr power: 693.93
2019-05-29_15:01:42 EG_HWR_Strom_Waeschetrockner_Pwr power: 478.76
2019-05-29_15:01:50 EG_HWR_Strom_Waeschetrockner_Pwr power: 29.59

Hier müsste das Programm ungefähr beendet worden sein, evtl. auch schon ein Reading vorher:

2019-05-29_15:02:02 EG_HWR_Strom_Waeschetrockner_Pwr power: 3.27
2019-05-29_15:02:42 EG_HWR_Strom_Waeschetrockner_Pwr power: 132.27
2019-05-29_15:02:50 EG_HWR_Strom_Waeschetrockner_Pwr power: 210.11
2019-05-29_15:02:58 EG_HWR_Strom_Waeschetrockner_Pwr power: 2.32
2019-05-29_15:03:15 EG_HWR_Strom_Waeschetrockner_Pwr power: 2.31
2019-05-29_15:03:42 EG_HWR_Strom_Waeschetrockner_Pwr power: 98.61
2019-05-29_15:03:50 EG_HWR_Strom_Waeschetrockner_Pwr power: 205.84
2019-05-29_15:03:58 EG_HWR_Strom_Waeschetrockner_Pwr power: 2.32
2019-05-29_15:04:42 EG_HWR_Strom_Waeschetrockner_Pwr power: 66.25
2019-05-29_15:04:50 EG_HWR_Strom_Waeschetrockner_Pwr power: 206.77
2019-05-29_15:04:58 EG_HWR_Strom_Waeschetrockner_Pwr power: 2.32
2019-05-29_15:05:42 EG_HWR_Strom_Waeschetrockner_Pwr power: 34.84
2019-05-29_15:05:43 EG_HWR_Strom_Waeschetrockner_Pwr power: 34.84
2019-05-29_15:05:48 EG_HWR_Strom_Waeschetrockner_Pwr power: 208.47
2019-05-29_15:05:50 EG_HWR_Strom_Waeschetrockner_Pwr power: 209.22
2019-05-29_15:05:58 EG_HWR_Strom_Waeschetrockner_Pwr power: 2.31
2019-05-29_15:06:43 EG_HWR_Strom_Waeschetrockner_Pwr power: 357.09
2019-05-29_15:06:51 EG_HWR_Strom_Waeschetrockner_Pwr power: 209.89
2019-05-29_15:06:59 EG_HWR_Strom_Waeschetrockner_Pwr power: 2.32
2019-05-29_15:07:43 EG_HWR_Strom_Waeschetrockner_Pwr power: 345.43
2019-05-29_15:07:51 EG_HWR_Strom_Waeschetrockner_Pwr power: 205.31
2019-05-29_15:07:59 EG_HWR_Strom_Waeschetrockner_Pwr power: 2.32
2019-05-29_15:08:07 EG_HWR_Strom_Waeschetrockner_Pwr power: 2.31
2019-05-29_15:08:43 EG_HWR_Strom_Waeschetrockner_Pwr power: 333.44
2019-05-29_15:08:51 EG_HWR_Strom_Waeschetrockner_Pwr power: 209.74
2019-05-29_15:08:59 EG_HWR_Strom_Waeschetrockner_Pwr power: 2.45
2019-05-29_15:09:43 EG_HWR_Strom_Waeschetrockner_Pwr power: 324.01
2019-05-29_15:09:51 EG_HWR_Strom_Waeschetrockner_Pwr power: 208.79

Wäschetrockner Tür geöffnet:

2019-05-29_15:09:59 EG_HWR_Strom_Waeschetrockner_Pwr power: 2.31
2019-05-29_15:10:11 EG_HWR_Strom_Waeschetrockner_Pwr power: 2.32
2019-05-29_15:15:45 EG_HWR_Strom_Waeschetrockner_Pwr power: 1.38
2019-05-29_15:18:10 EG_HWR_Strom_Waeschetrockner_Pwr power: 1.31
2019-05-29_15:20:20 EG_HWR_Strom_Waeschetrockner_Pwr power: 1.4
2019-05-29_15:23:20 EG_HWR_Strom_Waeschetrockner_Pwr power: 1.4

Wäschetrockner ausgeschaltet:

2019-05-29_15:26:06 EG_HWR_Strom_Waeschetrockner_Pwr power: 0.01
2019-05-29_15:30:54 EG_HWR_Strom_Waeschetrockner_Pwr power: 0.01
2019-05-29_15:32:56 EG_HWR_Strom_Waeschetrockner_Pwr power: 0.01
2019-05-29_15:35:48 EG_HWR_Strom_Waeschetrockner_Pwr power: 0.01
2019-05-29_15:38:26 EG_HWR_Strom_Waeschetrockner_Pwr power: 0.01
2019-05-29_15:42:58 EG_HWR_Strom_Waeschetrockner_Pwr power: 0.01
2019-05-29_15:45:56 EG_HWR_Strom_Waeschetrockner_Pwr power: 0.01
2019-05-29_15:48:40 EG_HWR_Strom_Waeschetrockner_Pwr power: 0.01
2019-05-29_15:51:10 EG_HWR_Strom_Waeschetrockner_Pwr power: 0
2019-05-29_15:53:25 EG_HWR_Strom_Waeschetrockner_Pwr power: 0.01
2019-05-29_15:56:10 EG_HWR_Strom_Waeschetrockner_Pwr power: 0.01
2019-05-29_15:58:40 EG_HWR_Strom_Waeschetrockner_Pwr power: 0.01
2019-05-29_16:00:56 EG_HWR_Strom_Waeschetrockner_Pwr power: 0.01
2019-05-29_16:02:58 EG_HWR_Strom_Waeschetrockner_Pwr power: 0.01
2019-05-29_16:05:49 EG_HWR_Strom_Waeschetrockner_Pwr power: 0.02
2019-05-29_16:08:26 EG_HWR_Strom_Waeschetrockner_Pwr power: 0.01
2019-05-29_16:10:49 EG_HWR_Strom_Waeschetrockner_Pwr power: 0.01
2019-05-29_16:12:57 EG_HWR_Strom_Waeschetrockner_Pwr power: 0.01
2019-05-29_16:15:54 EG_HWR_Strom_Waeschetrockner_Pwr power: 0.01
2019-05-29_16:18:38 EG_HWR_Strom_Waeschetrockner_Pwr power: 0.01


Im Logfile sieht das wie folgt aus:

2019.05.29 13:51:17 3: Wäschetrockner eingeschaltet
2019.05.29 13:52:25 3: Wäschetrockner Programm wurde gestartet
2019.05.29 13:57:26 3: Wäschetrockner Programm wird ausgeführt
2019.05.29 15:02:02 3: Wäschetrockner Programm wurde beendet
2019.05.29 15:02:42 3: Wäschetrockner ausgeschaltet
2019.05.29 15:02:50 3: Wäschetrockner eingeschaltet
2019.05.29 15:03:42 3: Wäschetrockner Programm wurde gestartet
2019.05.29 15:03:58 3: Wäschetrockner Programm wurde beendet
2019.05.29 15:04:42 3: Wäschetrockner ausgeschaltet
2019.05.29 15:04:50 3: Wäschetrockner eingeschaltet
2019.05.29 15:05:42 3: Wäschetrockner Programm wurde gestartet
2019.05.29 15:05:58 3: Wäschetrockner Programm wurde beendet
2019.05.29 15:06:43 3: Wäschetrockner ausgeschaltet
2019.05.29 15:06:51 3: Wäschetrockner eingeschaltet
2019.05.29 15:07:43 3: Wäschetrockner Programm wurde gestartet
2019.05.29 15:07:59 3: Wäschetrockner Programm wurde beendet
2019.05.29 15:08:43 3: Wäschetrockner ausgeschaltet
2019.05.29 15:08:51 3: Wäschetrockner eingeschaltet
2019.05.29 15:09:43 3: Wäschetrockner Programm wurde gestartet
2019.05.29 15:09:59 3: Wäschetrockner Programm wurde beendet
2019.05.29 15:26:06 3: Wäschetrockner ausgeschaltet


Kurz nach 15 Uhr müsste das Programm also beendet worden sein. Durch die dann folgenden enormen Abweichungen in den Verbrauchswerten, dreht das DoIF sich natürlich im Kreis. Erst wenn ich die Tür öffne geht der Verbrauch konstant unter 2.5 Watt. Wenn das Gerät dann ausgeschaltet wurde, fällt der Verbrauch nochmal auf 0.1 bis 0.2 Watt.   

Hier das entsprechende DoIF:

define di_Waeschetrockner DOIF ([EG_HWR_Strom_Waeschetrockner_Pwr:power:d] > 0.1 and [?di_Waeschetrockner] =~ "cmd_5|initialized|initialize")
  (({Log 3, "Wäschetrockner eingeschaltet"}))
DOELSEIF ([EG_HWR_Strom_Waeschetrockner_Pwr:power:d] > 20 and [?di_Waeschetrockner] eq "cmd_1")
  (({Log 3, "Wäschetrockner Programm wurde gestartet"}))
DOELSEIF ([EG_HWR_Strom_Waeschetrockner_Pwr:power:d] > 20 and [?di_Waeschetrockner] =~ "cmd_2|cmd_3")
  (({Log 3, "Wäschetrockner Programm wird ausgeführt"}))
DOELSEIF ([EG_HWR_Strom_Waeschetrockner_Pwr:power:d] < 5 and [?di_Waeschetrockner]  =~ "cmd_2|cmd_3")
  (({Log 3, "Wäschetrockner Programm wurde beendet"}))
DOELSEIF ([EG_HWR_Strom_Waeschetrockner_Pwr:power:d] < 0.1 or [EG_HWR_Strom_Waeschetrockner_Pwr:power:d] > 20 and [?di_Waeschetrockner] eq "cmd_4")
  (({Log 3, "Wäschetrockner ausgeschaltet"}))


und die Attribute:

attr di_Waeschetrockner wait         0:0:0:300:0
attr di_Waeschetrockner devStateIcon cmd_1:scene_washing_machine@green cmd_2:scene_washing_machine@yellow cmd_3:scene_washing_machine@orange cmd_4:scene_washing_machine@green .*:scene_washing_machine


Wäre echt cool, wenn dazu jemand von euch eine Idee hat. :)


Danke schonmal und viele Grüße Hoppel
Server: Openmediavault, XEON E3-1240L-v5, Supermicro X11SSH-CTF, 64GB ECC RAM, SSD, RAID-Z2
Homebridge | Alexa | Yowsup
Homematic | HomeConnect | MQTT | Philips Hue | Sonos | Unifi Network & Protect | vbus | Xiaomi

Neuhier

Primitiv aber wirksam:
einen Dummy auf "on" setzen, wenn Power über 50.00 ist.
Fällt Power über 5min unter 1.00 und der Dummy ist "on", gilt das als abgeschaltet.
Das verhindert, daß die Ende-Meldung kommt und das Programm noch nicht fertig war.
Im DOIF am Ende den Dummy wieder auf "off" setzen.

Habe ich für meine WM so gemacht.

amenomade

Irgenwelches "Knitterschutz" Programm am Ende?
Die Lösung von Neuhier sollte ja gehen. Oder statt ein Dummy, ein Readings des DOIFs selbst.
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

hoppel118

@Neuhier: Danke erstmal für die Rückmeldung. Wenn ich deine Nachricht richtig verstehe, hast du meine Problematik nicht verstanden. Sorry, das meine ich jetzt wirklich nicht böse. Bitte nicht falsch verstehen. ;)

Die Phase zwischen "Programm beendet" und "Tür geöffnet / Trockner ausgeschaltet" sieht im Filelog für das Reading Power wie folgt aus:

2019-05-29_15:02:02 EG_HWR_Strom_Waeschetrockner_Pwr power: 3.27
2019-05-29_15:02:42 EG_HWR_Strom_Waeschetrockner_Pwr power: 132.27
2019-05-29_15:02:50 EG_HWR_Strom_Waeschetrockner_Pwr power: 210.11
2019-05-29_15:02:58 EG_HWR_Strom_Waeschetrockner_Pwr power: 2.32
2019-05-29_15:03:15 EG_HWR_Strom_Waeschetrockner_Pwr power: 2.31
2019-05-29_15:03:42 EG_HWR_Strom_Waeschetrockner_Pwr power: 98.61
2019-05-29_15:03:50 EG_HWR_Strom_Waeschetrockner_Pwr power: 205.84
2019-05-29_15:03:58 EG_HWR_Strom_Waeschetrockner_Pwr power: 2.32
2019-05-29_15:04:42 EG_HWR_Strom_Waeschetrockner_Pwr power: 66.25
2019-05-29_15:04:50 EG_HWR_Strom_Waeschetrockner_Pwr power: 206.77
2019-05-29_15:04:58 EG_HWR_Strom_Waeschetrockner_Pwr power: 2.32
2019-05-29_15:05:42 EG_HWR_Strom_Waeschetrockner_Pwr power: 34.84
2019-05-29_15:05:43 EG_HWR_Strom_Waeschetrockner_Pwr power: 34.84
2019-05-29_15:05:48 EG_HWR_Strom_Waeschetrockner_Pwr power: 208.47
2019-05-29_15:05:50 EG_HWR_Strom_Waeschetrockner_Pwr power: 209.22
2019-05-29_15:05:58 EG_HWR_Strom_Waeschetrockner_Pwr power: 2.31
2019-05-29_15:06:43 EG_HWR_Strom_Waeschetrockner_Pwr power: 357.09
2019-05-29_15:06:51 EG_HWR_Strom_Waeschetrockner_Pwr power: 209.89
2019-05-29_15:06:59 EG_HWR_Strom_Waeschetrockner_Pwr power: 2.32
2019-05-29_15:07:43 EG_HWR_Strom_Waeschetrockner_Pwr power: 345.43
2019-05-29_15:07:51 EG_HWR_Strom_Waeschetrockner_Pwr power: 205.31
2019-05-29_15:07:59 EG_HWR_Strom_Waeschetrockner_Pwr power: 2.32
2019-05-29_15:08:07 EG_HWR_Strom_Waeschetrockner_Pwr power: 2.31
2019-05-29_15:08:43 EG_HWR_Strom_Waeschetrockner_Pwr power: 333.44
2019-05-29_15:08:51 EG_HWR_Strom_Waeschetrockner_Pwr power: 209.74
2019-05-29_15:08:59 EG_HWR_Strom_Waeschetrockner_Pwr power: 2.45
2019-05-29_15:09:43 EG_HWR_Strom_Waeschetrockner_Pwr power: 324.01
2019-05-29_15:09:51 EG_HWR_Strom_Waeschetrockner_Pwr power: 208.79


Der Verbrauch schwankt also noch zwischen 2 und 357 Watt.

Wie bringe ich dem DoIF nun bei, dass das Programm bei solchen Werten beendet ist?

Diese Werte sind meiner Ansicht nach nicht plausibel. Sie werden erst wieder plausibel, wenn man die Tür öffnet, siehe Filelog des Trockners meines vorangegangenen Posts. Vom Ding her, müsste ich bei Bosch anrufen und fragen, warum der Trockner noch so viel Strom verschwendet, obwohl das Programm beendet ist. Der Trockner ist gerade mal eine Woche alt.

Hast du oder jemand anderes dazu noch eine Idee?

Viele Grüße Hoppel
Server: Openmediavault, XEON E3-1240L-v5, Supermicro X11SSH-CTF, 64GB ECC RAM, SSD, RAID-Z2
Homebridge | Alexa | Yowsup
Homematic | HomeConnect | MQTT | Philips Hue | Sonos | Unifi Network & Protect | vbus | Xiaomi

hoppel118

Zitat von: amenomade am 29 Mai 2019, 22:47:27
Irgenwelches "Knitterschutz" Programm am Ende?

Gute Idee. Werde gleich mal die Bedienungsanleitung lesen. Aber müsste es nicht eigentlich so sein, dass so ein Knittschutzprogramm Bestandteil des Programms (in meinem Fall "Pflegeleicht") ist und nicht nach beenden des Programms noch ein "Geheimprogramm" läuft... :)

Zitat von: amenomade am 29 Mai 2019, 22:47:27
Die Lösung von Neuhier sollte ja gehen. Oder statt ein Dummy, ein Readings des DOIFs selbst.

Wenn, dann würde ich es gern in das DoIF einbauen.

Gruß Hoppel
Server: Openmediavault, XEON E3-1240L-v5, Supermicro X11SSH-CTF, 64GB ECC RAM, SSD, RAID-Z2
Homebridge | Alexa | Yowsup
Homematic | HomeConnect | MQTT | Philips Hue | Sonos | Unifi Network & Protect | vbus | Xiaomi

amenomade

ZitatWie bringe ich dem DoIF nun bei, dass das Programm bei solchen Werten beendet ist?
Genau wie er dir gesagt hat. Ich glaube eher, dass Du seine Antwort nicht verstanden hast.
Du setzt ein dummy oder ein Reading des DOIFs auf "on" am Anfang, und Du setzt es wieder auf "off" ganz am Ende. Und du passt deien Bedingungen entsprechend an:
- Bedingung2: wenn strom sehr hoch and ?dummy off
- Befehl2: dazu set dummy on
- Befehl5: dazu set dummy off
     
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

hoppel118

Zitat von: amenomade am 29 Mai 2019, 22:57:24
Genau wie er dir gesagt hat. Ich glaube eher, dass Du seine Antwort nicht verstanden hast.

OK, dann entschuldige ich mich hiermit aufrichtig. ;)

Zitat von: amenomade am 29 Mai 2019, 22:57:24
Du setzt ein dummy oder ein Reading des DOIFs auf "on" am Anfang, und Du setzt es wieder auf "off" ganz am Ende. Und du passt deien Bedingungen entsprechend an:
- Bedingung2: wenn strom sehr hoch and ?dummy off
- Befehl2: dazu set dummy on
- Befehl5: dazu set dummy off

Sorry, das verstehe ich so leider nicht. @Neuhier: Magst du mir mal die lists für deinen Dummy und dein DoIF zeigen?

Habe gerade nochmal einen Blick in die Bedienungsanleitung geworfen und bin dann nochmal kurz in den Hauswirtschaftsraum zum Trockner. Tatsächlich ist da ein Knitterschutzprogramm aktiv. ich kann wählen zwischen "AN 60min", "AN 120min" und "AUS".

Ich werde das morgen nochmal ohne Knitterschutzprogramm probieren. Aber wahrscheinlich ist das genau das Problem. Ich bräuchte also noch ein DOELSEIF für das Knittschutzprogramm oder eben eine Lösung mit einem Dummy. ;)

Viele Grüße Hoppel
Server: Openmediavault, XEON E3-1240L-v5, Supermicro X11SSH-CTF, 64GB ECC RAM, SSD, RAID-Z2
Homebridge | Alexa | Yowsup
Homematic | HomeConnect | MQTT | Philips Hue | Sonos | Unifi Network & Protect | vbus | Xiaomi

Neuhier

WM scharf:

defmod WMscharf DOIF ([HM_623796_SenPwr]>4) (set WMdummy on)
attr WMscharf do always


WM Fertig:

defmod WM_aus DOIF ([HM_623796_SenPwr]<2 and [WMdummy] eq "on") (set MyTTS tts :doorbell-2.mp3:die waschmaschine ist fertig) (set WMdummy off) (set 900UHD msg info 60 "die Waschmaschine ist fertig !")


Aus Spaß kommt bei mir am Ende noch eine Ansage und ein Text auf dem TV.  8) ::)




amenomade

Warum dann nicht einfach die letzte Bedingung
DOELSEIF ([EG_HWR_Strom_Waeschetrockner_Pwr:power:d] < 0.1 or [EG_HWR_Strom_Waeschetrockner_Pwr:power:d] > 20 and [?di_Waeschetrockner] eq "cmd_4")
auf
DOELSEIF ([EG_HWR_Strom_Waeschetrockner_Pwr:power:d] < 0.1 zu kürzen? Ich verstehe die Logik nicht, die auf "programm beendet" springen sollte, wenn Power doch wieder hoch geht ?
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

hoppel118

Ok, danke dir erstmal. Mal sehen, wie ich das für meine Thematik übertragen bekomme. Bin ,,noch" nicht so der DoIF-Experte...  ;)

Ich teste morgen erstmal, was zum Programmende passiert, wenn der Knitterschutz deaktiviert ist. Danach schaue ich dann, wie ich das DoIF entsprechend angepasst bekomme.

Bei mir steht demnächst ein Kauf eines Sonos Soundsystems an. Dann kann ich mich mit solchen Spielereien auch mal beschäftigen. :) Das mit den Messages müsste eigentlich jetzt schon umsetzbar sein. Bei mir läuft Kodi. Damit hat man ja eigentlich alle Möglichkeiten.

Falls hier jemand mitliest, der das DoIF bereits für so ein Knitterschutzprogramm nach dem eigentlichen Trocknungsprogramm angepasst hat, darf er das DoIF hier gern teilen. ;)

Viele Grüße Hoppel
Server: Openmediavault, XEON E3-1240L-v5, Supermicro X11SSH-CTF, 64GB ECC RAM, SSD, RAID-Z2
Homebridge | Alexa | Yowsup
Homematic | HomeConnect | MQTT | Philips Hue | Sonos | Unifi Network & Protect | vbus | Xiaomi

hoppel118

Zitat von: amenomade am 29 Mai 2019, 23:30:16
Warum dann nicht einfach die letzte Bedingung
DOELSEIF ([EG_HWR_Strom_Waeschetrockner_Pwr:power:d] < 0.1 or [EG_HWR_Strom_Waeschetrockner_Pwr:power:d] > 20 and [?di_Waeschetrockner] eq "cmd_4")
auf
DOELSEIF ([EG_HWR_Strom_Waeschetrockner_Pwr:power:d] < 0.1 zu kürzen? Ich verstehe die Logik nicht, die auf "programm beendet" springen sollte, wenn Power doch wieder hoch geht ?

Wir haben gerade parallel geschrieben. Kann dir glaube ich nicht ganz folgen. Wie würde das DoIF deiner Ansicht nach insgesamt aussehen?
Server: Openmediavault, XEON E3-1240L-v5, Supermicro X11SSH-CTF, 64GB ECC RAM, SSD, RAID-Z2
Homebridge | Alexa | Yowsup
Homematic | HomeConnect | MQTT | Philips Hue | Sonos | Unifi Network & Protect | vbus | Xiaomi

hoppel118

Zitat von: amenomade am 29 Mai 2019, 23:30:16
Warum dann nicht einfach die letzte Bedingung
DOELSEIF ([EG_HWR_Strom_Waeschetrockner_Pwr:power:d] < 0.1 or [EG_HWR_Strom_Waeschetrockner_Pwr:power:d] > 20 and [?di_Waeschetrockner] eq "cmd_4")
auf
DOELSEIF ([EG_HWR_Strom_Waeschetrockner_Pwr:power:d] < 0.1 zu kürzen? Ich verstehe die Logik nicht, die auf "programm beendet" springen sollte, wenn Power doch wieder hoch geht ?

hm..., ich glaube, ich weiß, was du meinst. Wie gesagt, ich bin nicht so der DoIF-Experte. Ich habe das Script hier aus dem Thread kopiert und an meine Gegebenheiten angepasst. Bei der Waschmaschine funktioniert das ja auch 1a.

Meinst du so?

define di_Waeschetrockner DOIF ([EG_HWR_Strom_Waeschetrockner_Pwr:power:d] > 0.1 and [?di_Waeschetrockner] =~ "cmd_5|initialized|initialize")
  (({Log 3, "Wäschetrockner eingeschaltet"}))
DOELSEIF ([EG_HWR_Strom_Waeschetrockner_Pwr:power:d] > 20 and [?di_Waeschetrockner] eq "cmd_1")
  (({Log 3, "Wäschetrockner Programm wurde gestartet"}))
DOELSEIF ([EG_HWR_Strom_Waeschetrockner_Pwr:power:d] > 20 and [?di_Waeschetrockner] =~ "cmd_2|cmd_3")
  (({Log 3, "Wäschetrockner Programm wird ausgeführt"}))
DOELSEIF ([EG_HWR_Strom_Waeschetrockner_Pwr:power:d] < 5 and [?di_Waeschetrockner]  =~ "cmd_2|cmd_3")
  (({Log 3, "Wäschetrockner Programm wurde beendet"}))
DOELSEIF ([EG_HWR_Strom_Waeschetrockner_Pwr:power:d] < 0.1 and [?di_Waeschetrockner] eq "cmd_4")
  (({Log 3, "Wäschetrockner ausgeschaltet"}))


Wenn du mir das so bestätigst, dann teste ich das morgen. :)

Gruß Hoppel
Server: Openmediavault, XEON E3-1240L-v5, Supermicro X11SSH-CTF, 64GB ECC RAM, SSD, RAID-Z2
Homebridge | Alexa | Yowsup
Homematic | HomeConnect | MQTT | Philips Hue | Sonos | Unifi Network & Protect | vbus | Xiaomi

amenomade

#38
Das wäre die Idee für ausgeschaltet.
Aber etwas wird noch nicht funktionieren: Du hast ja ein wait 300 für "beendet". Das Problem ist, pwr geht wider hoch innerhalb von 5 Min bei der Knitterschutzphase. Das heisst, er wird erst nach Ende dieser Phase cmd4 erreichen...
Ich habe jetzt keine Idee, wie man diese Phase vom normalen Programm unterscheiden kann.
Es sei denn, pwr geht nie während des Programms unter 20, dann könnte man das wait attribut löschen. Das heisst, statt "wenn mehr als 5 Minuten lang unter 20 ", einfach "sobald < 20"
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

hoppel118

Zitat von: amenomade am 30 Mai 2019, 00:18:38
Es sei denn, pwr geht nie während des Programms unter 20, dann könnte man das wait attribut löschen. Das heisst, statt "wenn mehr als 5 Minuten lang unter 20 ", einfach "sobald < 20"

Ok, das wäre eine Lösung, zumindest für das Programm ,,Pflegeleicht". Ob andere Programme unter 20 gehen, wird sich dann mit der Zeit zeigen.

Danke, dann werde ich das morgen so mal ausprobieren. Da wir gerade Nachwuchs bekommen haben, wird momentan jeden Tag getrocknet. ;)

Gruß Hoppel
Server: Openmediavault, XEON E3-1240L-v5, Supermicro X11SSH-CTF, 64GB ECC RAM, SSD, RAID-Z2
Homebridge | Alexa | Yowsup
Homematic | HomeConnect | MQTT | Philips Hue | Sonos | Unifi Network & Protect | vbus | Xiaomi

hoppel118

#40
Moinse,

ich hoffe, ihr habt den Vatertag schön gefeiert. ;)

Heute lief der Trockner mit dem angepassten DoIF im Programm "Pflegeleicht" und anschließendem Knitterschutz.

Das DoIF aus diesem Beitrag https://forum.fhem.de/index.php/topic,48877.msg944399.html#msg944399 ohne wait attr hat funktioniert.

Hier nochmal der entsprechende Mitschnitt aus meinem Filelog:

Wäschetrockner ausgeschaltet:

2019-05-30_13:10:11 EG_HWR_Strom_Waeschetrockner_Pwr power: 0.02
2019-05-30_13:13:03 EG_HWR_Strom_Waeschetrockner_Pwr power: 0.01
2019-05-30_13:15:40 EG_HWR_Strom_Waeschetrockner_Pwr power: 0.02
2019-05-30_13:18:03 EG_HWR_Strom_Waeschetrockner_Pwr power: 0.01
2019-05-30_13:20:12 EG_HWR_Strom_Waeschetrockner_Pwr power: 0.01
2019-05-30_13:23:10 EG_HWR_Strom_Waeschetrockner_Pwr power: 0.02
2019-05-30_13:25:54 EG_HWR_Strom_Waeschetrockner_Pwr power: 0.01
2019-05-30_13:28:24 EG_HWR_Strom_Waeschetrockner_Pwr power: 0.01
2019-05-30_13:30:39 EG_HWR_Strom_Waeschetrockner_Pwr power: 0.02
2019-05-30_13:33:24 EG_HWR_Strom_Waeschetrockner_Pwr power: 0.01
2019-05-30_13:35:54 EG_HWR_Strom_Waeschetrockner_Pwr power: 0.02
2019-05-30_13:38:11 EG_HWR_Strom_Waeschetrockner_Pwr power: 0.01

Wäschtrockner eingeschaltet:

2019-05-30_13:40:12 EG_HWR_Strom_Waeschetrockner_Pwr power: 5.06

Wäschetrockner Programm gestartet:

2019-05-30_13:41:05 EG_HWR_Strom_Waeschetrockner_Pwr power: 25.93
2019-05-30_13:41:06 EG_HWR_Strom_Waeschetrockner_Pwr power: 25.93
2019-05-30_13:41:13 EG_HWR_Strom_Waeschetrockner_Pwr power: 244
2019-05-30_13:41:36 EG_HWR_Strom_Waeschetrockner_Pwr power: 221.43
2019-05-30_13:42:06 EG_HWR_Strom_Waeschetrockner_Pwr power: 484.99
2019-05-30_13:42:14 EG_HWR_Strom_Waeschetrockner_Pwr power: 509.95
2019-05-30_13:43:03 EG_HWR_Strom_Waeschetrockner_Pwr power: 483.51
2019-05-30_13:43:04 EG_HWR_Strom_Waeschetrockner_Pwr power: 483.51
2019-05-30_13:43:11 EG_HWR_Strom_Waeschetrockner_Pwr power: 517.73
2019-05-30_13:43:19 EG_HWR_Strom_Waeschetrockner_Pwr power: 481.11
2019-05-30_13:43:20 EG_HWR_Strom_Waeschetrockner_Pwr power: 481.11
2019-05-30_13:43:58 EG_HWR_Strom_Waeschetrockner_Pwr power: 506.4
2019-05-30_13:44:06 EG_HWR_Strom_Waeschetrockner_Pwr power: 503.85
2019-05-30_13:44:23 EG_HWR_Strom_Waeschetrockner_Pwr power: 478.26
2019-05-30_13:45:38 EG_HWR_Strom_Waeschetrockner_Pwr power: 502.44
2019-05-30_13:45:41 EG_HWR_Strom_Waeschetrockner_Pwr power: 495.6
2019-05-30_13:45:46 EG_HWR_Strom_Waeschetrockner_Pwr power: 484.8
2019-05-30_13:47:07 EG_HWR_Strom_Waeschetrockner_Pwr power: 519.19
2019-05-30_13:47:15 EG_HWR_Strom_Waeschetrockner_Pwr power: 496.99
2019-05-30_13:48:03 EG_HWR_Strom_Waeschetrockner_Pwr power: 496.54
2019-05-30_13:48:13 EG_HWR_Strom_Waeschetrockner_Pwr power: 525.49
2019-05-30_13:48:27 EG_HWR_Strom_Waeschetrockner_Pwr power: 496.23
2019-05-30_13:48:35 EG_HWR_Strom_Waeschetrockner_Pwr power: 522.29
2019-05-30_13:48:37 EG_HWR_Strom_Waeschetrockner_Pwr power: 522.29
2019-05-30_13:48:43 EG_HWR_Strom_Waeschetrockner_Pwr power: 509.74
2019-05-30_13:50:11 EG_HWR_Strom_Waeschetrockner_Pwr power: 522.73
2019-05-30_13:51:13 EG_HWR_Strom_Waeschetrockner_Pwr power: 540.8
2019-05-30_13:51:41 EG_HWR_Strom_Waeschetrockner_Pwr power: 507.73
2019-05-30_13:52:07 EG_HWR_Strom_Waeschetrockner_Pwr power: 537.21
2019-05-30_13:53:09 EG_HWR_Strom_Waeschetrockner_Pwr power: 540.13
2019-05-30_13:55:52 EG_HWR_Strom_Waeschetrockner_Pwr power: 551.19
2019-05-30_13:56:07 EG_HWR_Strom_Waeschetrockner_Pwr power: 569.57
2019-05-30_13:56:29 EG_HWR_Strom_Waeschetrockner_Pwr power: 544.48
2019-05-30_13:57:13 EG_HWR_Strom_Waeschetrockner_Pwr power: 570.68
2019-05-30_13:57:30 EG_HWR_Strom_Waeschetrockner_Pwr power: 544.93
2019-05-30_13:57:41 EG_HWR_Strom_Waeschetrockner_Pwr power: 570.64
2019-05-30_13:57:53 EG_HWR_Strom_Waeschetrockner_Pwr power: 535.58
2019-05-30_13:58:01 EG_HWR_Strom_Waeschetrockner_Pwr power: 562.89
2019-05-30_13:58:21 EG_HWR_Strom_Waeschetrockner_Pwr power: 561.93
2019-05-30_13:58:55 EG_HWR_Strom_Waeschetrockner_Pwr power: 533.44
2019-05-30_13:58:56 EG_HWR_Strom_Waeschetrockner_Pwr power: 533.44
2019-05-30_13:58:58 EG_HWR_Strom_Waeschetrockner_Pwr power: 533.44
2019-05-30_13:59:00 EG_HWR_Strom_Waeschetrockner_Pwr power: 533.44
2019-05-30_13:59:05 EG_HWR_Strom_Waeschetrockner_Pwr power: 533.44
2019-05-30_13:59:14 EG_HWR_Strom_Waeschetrockner_Pwr power: 533.44
2019-05-30_13:59:14 EG_HWR_Strom_Waeschetrockner_Pwr power: 556.8
2019-05-30_13:59:15 EG_HWR_Strom_Waeschetrockner_Pwr power: 556.8
2019-05-30_13:59:22 EG_HWR_Strom_Waeschetrockner_Pwr power: 580.59
2019-05-30_13:59:32 EG_HWR_Strom_Waeschetrockner_Pwr power: 555.71
2019-05-30_13:59:40 EG_HWR_Strom_Waeschetrockner_Pwr power: 533.68
2019-05-30_13:59:48 EG_HWR_Strom_Waeschetrockner_Pwr power: 565.55
2019-05-30_13:59:50 EG_HWR_Strom_Waeschetrockner_Pwr power: 565.55
2019-05-30_13:59:53 EG_HWR_Strom_Waeschetrockner_Pwr power: 565.55
2019-05-30_13:59:58 EG_HWR_Strom_Waeschetrockner_Pwr power: 565.55
2019-05-30_14:00:06 EG_HWR_Strom_Waeschetrockner_Pwr power: 565.55
2019-05-30_14:00:07 EG_HWR_Strom_Waeschetrockner_Pwr power: 542.04
2019-05-30_14:00:14 EG_HWR_Strom_Waeschetrockner_Pwr power: 604.58
2019-05-30_14:00:15 EG_HWR_Strom_Waeschetrockner_Pwr power: 604.58
2019-05-30_14:00:22 EG_HWR_Strom_Waeschetrockner_Pwr power: 579.41
2019-05-30_14:00:24 EG_HWR_Strom_Waeschetrockner_Pwr power: 579.41
2019-05-30_14:00:25 EG_HWR_Strom_Waeschetrockner_Pwr power: 579.41
2019-05-30_14:00:27 EG_HWR_Strom_Waeschetrockner_Pwr power: 579.41
2019-05-30_14:00:35 EG_HWR_Strom_Waeschetrockner_Pwr power: 573.36
2019-05-30_14:00:42 EG_HWR_Strom_Waeschetrockner_Pwr power: 555.06
2019-05-30_14:01:08 EG_HWR_Strom_Waeschetrockner_Pwr power: 225.3
2019-05-30_14:01:11 EG_HWR_Strom_Waeschetrockner_Pwr power: 225.3
2019-05-30_14:01:14 EG_HWR_Strom_Waeschetrockner_Pwr power: 225.3
2019-05-30_14:01:18 EG_HWR_Strom_Waeschetrockner_Pwr power: 225.3
2019-05-30_14:01:26 EG_HWR_Strom_Waeschetrockner_Pwr power: 225.3
2019-05-30_14:01:27 EG_HWR_Strom_Waeschetrockner_Pwr power: 233.64
2019-05-30_14:01:34 EG_HWR_Strom_Waeschetrockner_Pwr power: 199.52
2019-05-30_14:01:36 EG_HWR_Strom_Waeschetrockner_Pwr power: 199.52
2019-05-30_14:01:47 EG_HWR_Strom_Waeschetrockner_Pwr power: 224.67
2019-05-30_14:01:57 EG_HWR_Strom_Waeschetrockner_Pwr power: 197.92
2019-05-30_14:02:00 EG_HWR_Strom_Waeschetrockner_Pwr power: 197.92
2019-05-30_14:02:03 EG_HWR_Strom_Waeschetrockner_Pwr power: 197.92
2019-05-30_14:02:07 EG_HWR_Strom_Waeschetrockner_Pwr power: 197.92
2019-05-30_14:02:16 EG_HWR_Strom_Waeschetrockner_Pwr power: 197.92
2019-05-30_14:02:22 EG_HWR_Strom_Waeschetrockner_Pwr power: 230.86
2019-05-30_14:02:30 EG_HWR_Strom_Waeschetrockner_Pwr power: 195.73
2019-05-30_14:02:35 EG_HWR_Strom_Waeschetrockner_Pwr power: 189.85
2019-05-30_14:04:01 EG_HWR_Strom_Waeschetrockner_Pwr power: 222.36
2019-05-30_14:04:03 EG_HWR_Strom_Waeschetrockner_Pwr power: 222.36
2019-05-30_14:04:06 EG_HWR_Strom_Waeschetrockner_Pwr power: 222.36
2019-05-30_14:04:11 EG_HWR_Strom_Waeschetrockner_Pwr power: 222.36
2019-05-30_14:04:12 EG_HWR_Strom_Waeschetrockner_Pwr power: 522.35
2019-05-30_14:04:13 EG_HWR_Strom_Waeschetrockner_Pwr power: 522.35
2019-05-30_14:04:19 EG_HWR_Strom_Waeschetrockner_Pwr power: 548.5
2019-05-30_14:04:20 EG_HWR_Strom_Waeschetrockner_Pwr power: 548.5
2019-05-30_14:04:37 EG_HWR_Strom_Waeschetrockner_Pwr power: 573.29
2019-05-30_14:05:24 EG_HWR_Strom_Waeschetrockner_Pwr power: 582
2019-05-30_14:05:52 EG_HWR_Strom_Waeschetrockner_Pwr power: 550.02
2019-05-30_14:06:04 EG_HWR_Strom_Waeschetrockner_Pwr power: 579.55
2019-05-30_14:07:24 EG_HWR_Strom_Waeschetrockner_Pwr power: 552.67
2019-05-30_14:07:38 EG_HWR_Strom_Waeschetrockner_Pwr power: 585.31
2019-05-30_14:07:46 EG_HWR_Strom_Waeschetrockner_Pwr power: 562.11
2019-05-30_14:07:54 EG_HWR_Strom_Waeschetrockner_Pwr power: 578.59
2019-05-30_14:07:59 EG_HWR_Strom_Waeschetrockner_Pwr power: 584.18
2019-05-30_14:08:24 EG_HWR_Strom_Waeschetrockner_Pwr power: 611.51
2019-05-30_14:08:37 EG_HWR_Strom_Waeschetrockner_Pwr power: 579.88
2019-05-30_14:10:20 EG_HWR_Strom_Waeschetrockner_Pwr power: 592.12
2019-05-30_14:11:11 EG_HWR_Strom_Waeschetrockner_Pwr power: 608.05
2019-05-30_14:11:13 EG_HWR_Strom_Waeschetrockner_Pwr power: 608.05
2019-05-30_14:11:16 EG_HWR_Strom_Waeschetrockner_Pwr power: 608.05
2019-05-30_14:11:33 EG_HWR_Strom_Waeschetrockner_Pwr power: 586.48
2019-05-30_14:12:09 EG_HWR_Strom_Waeschetrockner_Pwr power: 620.05
2019-05-30_14:12:10 EG_HWR_Strom_Waeschetrockner_Pwr power: 620.05
2019-05-30_14:12:26 EG_HWR_Strom_Waeschetrockner_Pwr power: 615.15
2019-05-30_14:13:32 EG_HWR_Strom_Waeschetrockner_Pwr power: 206.81
2019-05-30_14:13:33 EG_HWR_Strom_Waeschetrockner_Pwr power: 206.81
2019-05-30_14:13:35 EG_HWR_Strom_Waeschetrockner_Pwr power: 206.81
2019-05-30_14:13:40 EG_HWR_Strom_Waeschetrockner_Pwr power: 203.94
2019-05-30_14:13:42 EG_HWR_Strom_Waeschetrockner_Pwr power: 203.94
2019-05-30_14:13:48 EG_HWR_Strom_Waeschetrockner_Pwr power: 235.17
2019-05-30_14:13:49 EG_HWR_Strom_Waeschetrockner_Pwr power: 235.17
2019-05-30_14:13:54 EG_HWR_Strom_Waeschetrockner_Pwr power: 235.17
2019-05-30_14:13:58 EG_HWR_Strom_Waeschetrockner_Pwr power: 235.17
2019-05-30_14:13:58 EG_HWR_Strom_Waeschetrockner_Pwr power: 206.72
2019-05-30_14:14:00 EG_HWR_Strom_Waeschetrockner_Pwr power: 206.72
2019-05-30_14:15:22 EG_HWR_Strom_Waeschetrockner_Pwr power: 200.16
2019-05-30_14:15:48 EG_HWR_Strom_Waeschetrockner_Pwr power: 10.67
2019-05-30_14:15:56 EG_HWR_Strom_Waeschetrockner_Pwr power: 208.68
2019-05-30_14:15:58 EG_HWR_Strom_Waeschetrockner_Pwr power: 208.68
2019-05-30_14:16:01 EG_HWR_Strom_Waeschetrockner_Pwr power: 208.68
2019-05-30_14:16:06 EG_HWR_Strom_Waeschetrockner_Pwr power: 208.68
2019-05-30_14:16:14 EG_HWR_Strom_Waeschetrockner_Pwr power: 208.68
2019-05-30_14:16:32 EG_HWR_Strom_Waeschetrockner_Pwr power: 519.57
2019-05-30_14:16:40 EG_HWR_Strom_Waeschetrockner_Pwr power: 575.76
2019-05-30_14:16:52 EG_HWR_Strom_Waeschetrockner_Pwr power: 607.28
2019-05-30_14:17:04 EG_HWR_Strom_Waeschetrockner_Pwr power: 631.43
2019-05-30_14:17:32 EG_HWR_Strom_Waeschetrockner_Pwr power: 430.93
2019-05-30_14:17:42 EG_HWR_Strom_Waeschetrockner_Pwr power: 430.93

Hier müsste das "Pflegeleicht" Programm beendet worden sein und das "Knittschutz" Programm gestartet:

2019-05-30_14:18:03 EG_HWR_Strom_Waeschetrockner_Pwr power: 2.6
2019-05-30_14:18:13 EG_HWR_Strom_Waeschetrockner_Pwr power: 2.6
2019-05-30_14:18:37 EG_HWR_Strom_Waeschetrockner_Pwr power: 181.54
2019-05-30_14:18:40 EG_HWR_Strom_Waeschetrockner_Pwr power: 181.54
2019-05-30_14:19:06 EG_HWR_Strom_Waeschetrockner_Pwr power: 2.38
2019-05-30_14:19:36 EG_HWR_Strom_Waeschetrockner_Pwr power: 197.51
2019-05-30_14:19:39 EG_HWR_Strom_Waeschetrockner_Pwr power: 197.51
2019-05-30_14:19:42 EG_HWR_Strom_Waeschetrockner_Pwr power: 197.51
2019-05-30_14:19:44 EG_HWR_Strom_Waeschetrockner_Pwr power: 2.38
2019-05-30_14:20:31 EG_HWR_Strom_Waeschetrockner_Pwr power: 14.26
2019-05-30_14:20:32 EG_HWR_Strom_Waeschetrockner_Pwr power: 27.14
2019-05-30_14:20:34 EG_HWR_Strom_Waeschetrockner_Pwr power: 27.14
2019-05-30_14:20:35 EG_HWR_Strom_Waeschetrockner_Pwr power: 27.14
2019-05-30_14:20:37 EG_HWR_Strom_Waeschetrockner_Pwr power: 27.14
2019-05-30_14:20:40 EG_HWR_Strom_Waeschetrockner_Pwr power: 192.66
2019-05-30_14:20:48 EG_HWR_Strom_Waeschetrockner_Pwr power: 2.39
2019-05-30_14:21:34 EG_HWR_Strom_Waeschetrockner_Pwr power: 353.51
2019-05-30_14:21:36 EG_HWR_Strom_Waeschetrockner_Pwr power: 353.51
2019-05-30_14:21:41 EG_HWR_Strom_Waeschetrockner_Pwr power: 197.97
2019-05-30_14:22:17 EG_HWR_Strom_Waeschetrockner_Pwr power: 2.38
2019-05-30_14:22:43 EG_HWR_Strom_Waeschetrockner_Pwr power: 2.38
2019-05-30_14:23:36 EG_HWR_Strom_Waeschetrockner_Pwr power: 331.22
2019-05-30_14:23:38 EG_HWR_Strom_Waeschetrockner_Pwr power: 331.22
2019-05-30_14:23:52 EG_HWR_Strom_Waeschetrockner_Pwr power: 331.22
2019-05-30_14:24:04 EG_HWR_Strom_Waeschetrockner_Pwr power: 2.38
2019-05-30_14:24:33 EG_HWR_Strom_Waeschetrockner_Pwr power: 310.21
2019-05-30_14:24:35 EG_HWR_Strom_Waeschetrockner_Pwr power: 310.21
2019-05-30_14:24:38 EG_HWR_Strom_Waeschetrockner_Pwr power: 310.21
2019-05-30_14:24:43 EG_HWR_Strom_Waeschetrockner_Pwr power: 310.21
2019-05-30_14:25:03 EG_HWR_Strom_Waeschetrockner_Pwr power: 2.37
2019-05-30_14:25:36 EG_HWR_Strom_Waeschetrockner_Pwr power: 223.6
2019-05-30_14:25:40 EG_HWR_Strom_Waeschetrockner_Pwr power: 223.6
2019-05-30_14:26:06 EG_HWR_Strom_Waeschetrockner_Pwr power: 2.37
2019-05-30_14:26:33 EG_HWR_Strom_Waeschetrockner_Pwr power: 274.19
2019-05-30_14:26:35 EG_HWR_Strom_Waeschetrockner_Pwr power: 274.19
2019-05-30_14:26:38 EG_HWR_Strom_Waeschetrockner_Pwr power: 274.19
2019-05-30_14:26:51 EG_HWR_Strom_Waeschetrockner_Pwr power: 274.19
2019-05-30_14:27:04 EG_HWR_Strom_Waeschetrockner_Pwr power: 2.38
2019-05-30_14:27:22 EG_HWR_Strom_Waeschetrockner_Pwr power: 2.38
2019-05-30_14:28:05 EG_HWR_Strom_Waeschetrockner_Pwr power: 234.31
2019-05-30_14:28:08 EG_HWR_Strom_Waeschetrockner_Pwr power: 234.31
2019-05-30_14:28:21 EG_HWR_Strom_Waeschetrockner_Pwr power: 234.31
2019-05-30_14:28:39 EG_HWR_Strom_Waeschetrockner_Pwr power: 8.65
2019-05-30_14:29:30 EG_HWR_Strom_Waeschetrockner_Pwr power: 187.99
2019-05-30_14:29:32 EG_HWR_Strom_Waeschetrockner_Pwr power: 187.99
2019-05-30_14:29:35 EG_HWR_Strom_Waeschetrockner_Pwr power: 187.99
2019-05-30_14:29:40 EG_HWR_Strom_Waeschetrockner_Pwr power: 187.99
2019-05-30_14:30:00 EG_HWR_Strom_Waeschetrockner_Pwr power: 2.36
2019-05-30_14:30:58 EG_HWR_Strom_Waeschetrockner_Pwr power: 107.41
2019-05-30_14:30:59 EG_HWR_Strom_Waeschetrockner_Pwr power: 107.41
2019-05-30_14:31:01 EG_HWR_Strom_Waeschetrockner_Pwr power: 107.41
2019-05-30_14:31:03 EG_HWR_Strom_Waeschetrockner_Pwr power: 107.41
2019-05-30_14:31:08 EG_HWR_Strom_Waeschetrockner_Pwr power: 107.41
2019-05-30_14:31:29 EG_HWR_Strom_Waeschetrockner_Pwr power: 13.96
2019-05-30_14:32:26 EG_HWR_Strom_Waeschetrockner_Pwr power: 53.03
2019-05-30_14:32:34 EG_HWR_Strom_Waeschetrockner_Pwr power: 189.47
2019-05-30_14:32:42 EG_HWR_Strom_Waeschetrockner_Pwr power: 2.36
2019-05-30_14:33:25 EG_HWR_Strom_Waeschetrockner_Pwr power: 14.09
2019-05-30_14:33:55 EG_HWR_Strom_Waeschetrockner_Pwr power: 369.74
2019-05-30_14:34:03 EG_HWR_Strom_Waeschetrockner_Pwr power: 197.62
2019-05-30_14:34:11 EG_HWR_Strom_Waeschetrockner_Pwr power: 2.38
2019-05-30_14:35:23 EG_HWR_Strom_Waeschetrockner_Pwr power: 353.71
2019-05-30_14:35:29 EG_HWR_Strom_Waeschetrockner_Pwr power: 233.04
2019-05-30_14:35:31 EG_HWR_Strom_Waeschetrockner_Pwr power: 227.48
2019-05-30_14:35:39 EG_HWR_Strom_Waeschetrockner_Pwr power: 2.37
2019-05-30_14:36:51 EG_HWR_Strom_Waeschetrockner_Pwr power: 315.72
2019-05-30_14:37:00 EG_HWR_Strom_Waeschetrockner_Pwr power: 203.51
2019-05-30_14:37:07 EG_HWR_Strom_Waeschetrockner_Pwr power: 2.38
2019-05-30_14:38:19 EG_HWR_Strom_Waeschetrockner_Pwr power: 299.69
2019-05-30_14:38:23 EG_HWR_Strom_Waeschetrockner_Pwr power: 229.78
2019-05-30_14:38:27 EG_HWR_Strom_Waeschetrockner_Pwr power: 234.84
2019-05-30_14:38:35 EG_HWR_Strom_Waeschetrockner_Pwr power: 6.15
2019-05-30_14:39:47 EG_HWR_Strom_Waeschetrockner_Pwr power: 247.36
2019-05-30_14:39:55 EG_HWR_Strom_Waeschetrockner_Pwr power: 216.64
2019-05-30_14:40:03 EG_HWR_Strom_Waeschetrockner_Pwr power: 2.37
2019-05-30_14:41:03 EG_HWR_Strom_Waeschetrockner_Pwr power: 2.38
2019-05-30_14:41:15 EG_HWR_Strom_Waeschetrockner_Pwr power: 216.67
2019-05-30_14:41:42 EG_HWR_Strom_Waeschetrockner_Pwr power: 237.39
2019-05-30_14:41:43 EG_HWR_Strom_Waeschetrockner_Pwr power: 2.38
2019-05-30_14:42:43 EG_HWR_Strom_Waeschetrockner_Pwr power: 126.55
2019-05-30_14:42:51 EG_HWR_Strom_Waeschetrockner_Pwr power: 224.7
2019-05-30_14:42:59 EG_HWR_Strom_Waeschetrockner_Pwr power: 2.38
2019-05-30_14:43:28 EG_HWR_Strom_Waeschetrockner_Pwr power: 14.2
2019-05-30_14:44:11 EG_HWR_Strom_Waeschetrockner_Pwr power: 43.55
2019-05-30_14:44:19 EG_HWR_Strom_Waeschetrockner_Pwr power: 236.51
2019-05-30_14:44:27 EG_HWR_Strom_Waeschetrockner_Pwr power: 14.32
2019-05-30_14:45:39 EG_HWR_Strom_Waeschetrockner_Pwr power: 2.38
2019-05-30_14:45:40 EG_HWR_Strom_Waeschetrockner_Pwr power: 373.36
2019-05-30_14:45:48 EG_HWR_Strom_Waeschetrockner_Pwr power: 222.28
2019-05-30_14:45:56 EG_HWR_Strom_Waeschetrockner_Pwr power: 2.39
2019-05-30_14:47:08 EG_HWR_Strom_Waeschetrockner_Pwr power: 337.26
2019-05-30_14:47:09 EG_HWR_Strom_Waeschetrockner_Pwr power: 337.26
2019-05-30_14:47:11 EG_HWR_Strom_Waeschetrockner_Pwr power: 337.26
2019-05-30_14:47:16 EG_HWR_Strom_Waeschetrockner_Pwr power: 231.48
2019-05-30_14:47:24 EG_HWR_Strom_Waeschetrockner_Pwr power: 14.32
2019-05-30_14:48:39 EG_HWR_Strom_Waeschetrockner_Pwr power: 2.39
2019-05-30_14:49:29 EG_HWR_Strom_Waeschetrockner_Pwr power: 332.34
2019-05-30_14:49:37 EG_HWR_Strom_Waeschetrockner_Pwr power: 225.84
2019-05-30_14:49:45 EG_HWR_Strom_Waeschetrockner_Pwr power: 2.38
2019-05-30_14:51:25 EG_HWR_Strom_Waeschetrockner_Pwr power: 14.24
2019-05-30_14:51:49 EG_HWR_Strom_Waeschetrockner_Pwr power: 270.42
2019-05-30_14:51:57 EG_HWR_Strom_Waeschetrockner_Pwr power: 224.43
2019-05-30_14:52:05 EG_HWR_Strom_Waeschetrockner_Pwr power: 2.39
2019-05-30_14:53:57 EG_HWR_Strom_Waeschetrockner_Pwr power: 2.39
2019-05-30_14:54:09 EG_HWR_Strom_Waeschetrockner_Pwr power: 188.06
2019-05-30_14:54:11 EG_HWR_Strom_Waeschetrockner_Pwr power: 188.06
2019-05-30_14:54:12 EG_HWR_Strom_Waeschetrockner_Pwr power: 188.06
2019-05-30_14:54:15 EG_HWR_Strom_Waeschetrockner_Pwr power: 188.06
2019-05-30_14:54:19 EG_HWR_Strom_Waeschetrockner_Pwr power: 188.06
2019-05-30_14:54:20 EG_HWR_Strom_Waeschetrockner_Pwr power: 14.5
2019-05-30_14:56:14 EG_HWR_Strom_Waeschetrockner_Pwr power: 2.38
2019-05-30_14:56:29 EG_HWR_Strom_Waeschetrockner_Pwr power: 87.1
2019-05-30_14:56:30 EG_HWR_Strom_Waeschetrockner_Pwr power: 87.1
2019-05-30_14:56:37 EG_HWR_Strom_Waeschetrockner_Pwr power: 220.82
2019-05-30_14:56:45 EG_HWR_Strom_Waeschetrockner_Pwr power: 2.4
2019-05-30_14:58:16 EG_HWR_Strom_Waeschetrockner_Pwr power: 16.25
2019-05-30_14:58:50 EG_HWR_Strom_Waeschetrockner_Pwr power: 374.28
2019-05-30_14:58:58 EG_HWR_Strom_Waeschetrockner_Pwr power: 220.41
2019-05-30_14:59:06 EG_HWR_Strom_Waeschetrockner_Pwr power: 2.39
2019-05-30_15:01:08 EG_HWR_Strom_Waeschetrockner_Pwr power: 2.38
2019-05-30_15:01:10 EG_HWR_Strom_Waeschetrockner_Pwr power: 332.02
2019-05-30_15:01:18 EG_HWR_Strom_Waeschetrockner_Pwr power: 237.92
2019-05-30_15:01:26 EG_HWR_Strom_Waeschetrockner_Pwr power: 14.1
2019-05-30_15:03:30 EG_HWR_Strom_Waeschetrockner_Pwr power: 301.19
2019-05-30_15:03:38 EG_HWR_Strom_Waeschetrockner_Pwr power: 220.82
2019-05-30_15:03:46 EG_HWR_Strom_Waeschetrockner_Pwr power: 2.39
2019-05-30_15:03:46 EG_HWR_Strom_Waeschetrockner_Pwr power: 2.38
2019-05-30_15:05:50 EG_HWR_Strom_Waeschetrockner_Pwr power: 211.55
2019-05-30_15:05:51 EG_HWR_Strom_Waeschetrockner_Pwr power: 211.55
2019-05-30_15:05:53 EG_HWR_Strom_Waeschetrockner_Pwr power: 211.55
2019-05-30_15:05:56 EG_HWR_Strom_Waeschetrockner_Pwr power: 211.55
2019-05-30_15:05:58 EG_HWR_Strom_Waeschetrockner_Pwr power: 219.21
2019-05-30_15:06:06 EG_HWR_Strom_Waeschetrockner_Pwr power: 2.4
2019-05-30_15:06:09 EG_HWR_Strom_Waeschetrockner_Pwr power: 2.38
2019-05-30_15:08:10 EG_HWR_Strom_Waeschetrockner_Pwr power: 96.78
2019-05-30_15:08:18 EG_HWR_Strom_Waeschetrockner_Pwr power: 239.44
2019-05-30_15:08:26 EG_HWR_Strom_Waeschetrockner_Pwr power: 14.04
2019-05-30_15:10:31 EG_HWR_Strom_Waeschetrockner_Pwr power: 390.29
2019-05-30_15:10:39 EG_HWR_Strom_Waeschetrockner_Pwr power: 224.66
2019-05-30_15:10:47 EG_HWR_Strom_Waeschetrockner_Pwr power: 2.39
2019-05-30_15:11:17 EG_HWR_Strom_Waeschetrockner_Pwr power: 2.39
2019-05-30_15:12:51 EG_HWR_Strom_Waeschetrockner_Pwr power: 333.44
2019-05-30_15:12:59 EG_HWR_Strom_Waeschetrockner_Pwr power: 220.85
2019-05-30_15:13:07 EG_HWR_Strom_Waeschetrockner_Pwr power: 2.39
2019-05-30_15:14:01 EG_HWR_Strom_Waeschetrockner_Pwr power: 2.39
2019-05-30_15:15:11 EG_HWR_Strom_Waeschetrockner_Pwr power: 280.76
2019-05-30_15:15:19 EG_HWR_Strom_Waeschetrockner_Pwr power: 233.55
2019-05-30_15:15:20 EG_HWR_Strom_Waeschetrockner_Pwr power: 233.55
2019-05-30_15:15:27 EG_HWR_Strom_Waeschetrockner_Pwr power: 14.2
2019-05-30_15:16:31 EG_HWR_Strom_Waeschetrockner_Pwr power: 14.18
2019-05-30_15:17:31 EG_HWR_Strom_Waeschetrockner_Pwr power: 214.9
2019-05-30_15:17:39 EG_HWR_Strom_Waeschetrockner_Pwr power: 230.05
2019-05-30_15:17:50 EG_HWR_Strom_Waeschetrockner_Pwr power: 2.39
2019-05-30_15:18:46 EG_HWR_Strom_Waeschetrockner_Pwr power: 2.4
2019-05-30_15:19:51 EG_HWR_Strom_Waeschetrockner_Pwr power: 79.52
2019-05-30_15:19:52 EG_HWR_Strom_Waeschetrockner_Pwr power: 79.52
2019-05-30_15:19:54 EG_HWR_Strom_Waeschetrockner_Pwr power: 79.52
2019-05-30_15:19:59 EG_HWR_Strom_Waeschetrockner_Pwr power: 229.71
2019-05-30_15:20:10 EG_HWR_Strom_Waeschetrockner_Pwr power: 2.4
2019-05-30_15:20:47 EG_HWR_Strom_Waeschetrockner_Pwr power: 2.39
2019-05-30_15:22:12 EG_HWR_Strom_Waeschetrockner_Pwr power: 373.05
2019-05-30_15:22:13 EG_HWR_Strom_Waeschetrockner_Pwr power: 373.05
2019-05-30_15:22:20 EG_HWR_Strom_Waeschetrockner_Pwr power: 237.91
2019-05-30_15:22:28 EG_HWR_Strom_Waeschetrockner_Pwr power: 14.15
2019-05-30_15:23:37 EG_HWR_Strom_Waeschetrockner_Pwr power: 14.16
2019-05-30_15:24:32 EG_HWR_Strom_Waeschetrockner_Pwr power: 339.49
2019-05-30_15:24:33 EG_HWR_Strom_Waeschetrockner_Pwr power: 339.49
2019-05-30_15:24:40 EG_HWR_Strom_Waeschetrockner_Pwr power: 221.91
2019-05-30_15:24:48 EG_HWR_Strom_Waeschetrockner_Pwr power: 2.4
2019-05-30_15:26:13 EG_HWR_Strom_Waeschetrockner_Pwr power: 2.4

Wäschetrockner ausgeschaltet:

2019-05-30_15:28:34 EG_HWR_Strom_Waeschetrockner_Pwr power: 0.01
2019-05-30_15:30:41 EG_HWR_Strom_Waeschetrockner_Pwr power: 0.01
2019-05-30_15:33:38 EG_HWR_Strom_Waeschetrockner_Pwr power: 0.01
2019-05-30_15:36:20 EG_HWR_Strom_Waeschetrockner_Pwr power: 0.02
2019-05-30_15:38:48 EG_HWR_Strom_Waeschetrockner_Pwr power: 0.01
2019-05-30_15:41:02 EG_HWR_Strom_Waeschetrockner_Pwr power: 0.01
2019-05-30_15:44:05 EG_HWR_Strom_Waeschetrockner_Pwr power: 0.02
2019-05-30_15:46:53 EG_HWR_Strom_Waeschetrockner_Pwr power: 0.01
2019-05-30_15:49:27 EG_HWR_Strom_Waeschetrockner_Pwr power: 0.01


Im Logfile sieht das dann wie folgt aus:

2019.05.30 13:40:12 3: Wäschetrockner eingeschaltet
2019.05.30 13:41:05 3: Wäschetrockner Programm gestartet
2019.05.30 13:41:06 3: Wäschetrockner Programm arbeitet noch
2019.05.30 14:18:03 3: Wäschetrockner Programm beendet
2019.05.30 15:28:34 3: Wäschetrockner ausgeschaltet


Es läuft also erstmal so wie erwartet durch und am Ende werden trotz Knitterschutz Programm keine Schleifen gedreht. Super!

Eine Kleinigkeit habe ich nun noch: Wie müsste ich das DoIF anpassen, damit das DoIF ohne die Prüfung "Wäschetrockner Programm arbeitet noch" läuft?

Dadurch das nun das "wait" entfernt wurde macht diese Prüfung so keinen Sinn mehr. Diese Prüfung erfolgte mit dem derzeitigen DoIF eine Sekunde nach Programmstart. Kann mich dabei nochmal jemand kurz unterstützen?

Ich bin mit den cmds unsicher. Das DoIF würde ich nun wie folgt anpassen:

define di_Waeschetrockner DOIF ([EG_HWR_Strom_Waeschetrockner_Pwr:power:d] > 0.1 and [?di_Waeschetrockner] =~ "cmd_4|initialized")
  (({Log 3, "Wäschetrockner eingeschaltet"}))
DOELSEIF ([EG_HWR_Strom_Waeschetrockner_Pwr:power:d] > 20 and [?di_Waeschetrockner] eq "cmd_1")
  (({Log 3, "Wäschetrockner Programm wurde gestartet"}))
DOELSEIF ([EG_HWR_Strom_Waeschetrockner_Pwr:power:d] < 5 and [?di_Waeschetrockner]  eq "cmd_2")
  (({Log 3, "Wäschetrockner Programm wurde beendet"}))
DOELSEIF ([EG_HWR_Strom_Waeschetrockner_Pwr:power:d] < 0.1 and [?di_Waeschetrockner] eq "cmd_3")
  (({Log 3, "Wäschetrockner ausgeschaltet"}))


Passt das so?

Wenn auch dieser Test morgen erfolgreich verläuft, werde ich übermorgen mal das Knitterschutz Programm deaktivieren, so dass dann nach Programmende keine enormen Abweichungen bei den Verbrauchswerten mehr vorkommen sollten. Bin gespannt. :)

Danke euch und viele Grüße Hoppel
Server: Openmediavault, XEON E3-1240L-v5, Supermicro X11SSH-CTF, 64GB ECC RAM, SSD, RAID-Z2
Homebridge | Alexa | Yowsup
Homematic | HomeConnect | MQTT | Philips Hue | Sonos | Unifi Network & Protect | vbus | Xiaomi

amenomade

ZitatPasst das so?
Sollte
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

DasQ

#42
hab mir das mal für meine sonoff pow geklaut und statt logausgaben, nachrichten per telegram

defmod DoIfWaescheStatus DOIF ([sonoff_Waschmaschine:ENERGY_Power]          > 0.5 and [?DoIfWaescheStatus] =~ "cmd_4|initialized")(set telebot message @#Zuhause Waschmaschine: Ein)\
DOELSEIF ([sonoff_Waschmaschine:ENERGY_Power] > 10  and [?DoIfWaescheStatus] eq "cmd_1")            (set telebot message @#Zuhause Waschmaschine: Programmstart)\
DOELSEIF ([sonoff_Waschmaschine:ENERGY_Power] < 3   and [?DoIfWaescheStatus] eq "cmd_2")            (set telebot message @#Zuhause Waschmaschine: Programmende) \
DOELSEIF ([sonoff_Waschmaschine:ENERGY_Power] < 0.5 and [?DoIfWaescheStatus] eq "cmd_3")            (set telebot message @#Zuhause Waschmaschine: Aus)
Fhem on MacMini/Ubuntu.
Absoluter Befürworter der Konsequenten-Kleinschreibung https://de.wikipedia.org/wiki/Kleinschreibung
Infos zu Klimawandel http://www.globalcarbonatlas.org

hoppel118

#43
Hallo in die Runde,

ich habe nun auch nochmal an den beiden DOIFs für meine Waschmaschine und meinen Trockner geschraubt. Ob diese nun final sind, wird sich mit der Zeit zeigen. ;)

Der Vollständigkeit halber hier nochmal die derzeitigen DOIFs:

Waschmaschine:

define di_Waschmaschine DOIF ([EG_HWR_Strom_Waschmaschine_Pwr:power:d] > 0.1 and [?di_Waschmaschine] =~ "cmd_4|initialized")
  (set XXXXXXX_WhatsApp send Waschmaschine: an)
DOELSEIF ([EG_HWR_Strom_Waschmaschine_Pwr:power:d] > 20 and [?di_Waschmaschine] eq "cmd_1")
  (set XXXXXXX_WhatsApp send Waschmaschine: Programmstart)
DOELSEIF ([EG_HWR_Strom_Waschmaschine_Pwr:power:d] < 2.5 and [?di_Waschmaschine]  eq "cmd_2")
  (set XXXXXXX_WhatsApp send Waschmaschine: Programmende)
DOELSEIF ([EG_HWR_Strom_Waschmaschine_Pwr:power:d] < 0.1 or [EG_HWR_Strom_Waschmaschine_Pwr:power:d] > 20 and [?di_Waschmaschine] eq "cmd_3")
  (set XXXXXXX_WhatsApp send Waschmaschine: aus)


attr di_Waschmaschine wait         0:0:0:300:0
attr di_Waschmaschine devStateIcon cmd_1:scene_washing_machine@orange cmd_2:scene_washing_machine@yellow cmd_3:scene_washing_machine@green .*:scene_washing_machine


Trockner:

define di_Waeschetrockner DOIF ([EG_HWR_Strom_Waeschetrockner_Pwr:power:d] > 0.1 and [?di_Waeschetrockner] =~ "cmd_4|initialized")
  (set XXXXXXX_WhatsApp send Trockner: an)
DOELSEIF ([EG_HWR_Strom_Waeschetrockner_Pwr:power:d] > 20 and [?di_Waeschetrockner] eq "cmd_1")
  (set XXXXXXX_WhatsApp send Trockner: Programmstart)
DOELSEIF ([EG_HWR_Strom_Waeschetrockner_Pwr:power:d] < 2.5 and [?di_Waeschetrockner]  eq "cmd_2")
  (set XXXXXXX_WhatsApp send Trockner: Programmende)
DOELSEIF ([EG_HWR_Strom_Waeschetrockner_Pwr:power:d] < 0.1 or [EG_HWR_Strom_Waeschetrockner_Pwr:power:d] > 400 and [?di_Waeschetrockner] eq "cmd_3")
  (set XXXXXXX_WhatsApp send Trockner: aus)


attr di_Waeschetrockner devStateIcon cmd_1:scene_washing_machine@orange cmd_2:scene_washing_machine@yellow cmd_3:scene_washing_machine@green .*:scene_washing_machine

Das Knitterprogramm meines Trockners verursachte übrigens tatsächlich die schwankenden Verbrauchswerte nach Programmende. Heute habe ich das Knitterprogramm deaktiviert und der Trockner hat sich sogar 15 Minuten nach Programmende selbständig abgeschaltet. ;)

Bei mir laufen die Bestätigungen nun auch nicht mehr ins Log, sondern zu WhatsApp (Modul: yowsup). WhatsApp läuft hier im Haus sowieso auf allen Handys. Das habe ich gestern Abend in FHEM eingerichtet.

Danke für eure Unterstützung!

Bis bald mal wieder und Gruß Hoppel
Server: Openmediavault, XEON E3-1240L-v5, Supermicro X11SSH-CTF, 64GB ECC RAM, SSD, RAID-Z2
Homebridge | Alexa | Yowsup
Homematic | HomeConnect | MQTT | Philips Hue | Sonos | Unifi Network & Protect | vbus | Xiaomi

majorshark

Ich habe es bei mir in drei Devices verpackt. Das Gerät selbst,
defmod MqttDevice236 MQTT2_DEVICE MqttDevice236
attr MqttDevice236 DbLogInclude ENERGY_Power
attr MqttDevice236 IODev MQTT2_SERVER
attr MqttDevice236 alias Trockner
attr MqttDevice236 autocreate 1
attr MqttDevice236 devStateIcon on:rc_GREEN:off off:rc_RED:on
attr MqttDevice236 icon hue_filled_outlet
attr MqttDevice236 model A_01c_tasmota_POW
attr MqttDevice236 readingList tele/MqttDevice06/LWT:.* LWT\
  tele/MqttDevice06/STATE:.* { json2nameValue($EVENT) }\
  tele/MqttDevice06/SENSOR:.* { json2nameValue($EVENT) }\
  tele/MqttDevice06/INFO.:.* { json2nameValue($EVENT) }\
  stat/MqttDevice06/RESULT:.* { json2nameValue($EVENT) }\
MqttDevice236:stat/MqttDevice06/POWER1:.* POWER1\
MqttDevice236:tele/MqttDevice06/UPTIME:.* { json2nameValue($EVENT) }\
MqttDevice236:cmnd/MqttDevice06/POWER:.* POWER\
MqttDevice236:stat/MqttDevice06/STATUS:.* { json2nameValue($EVENT) }\
MqttDevice236:stat/MqttDevice06/STATUS1:.* { json2nameValue($EVENT) }\
MqttDevice236:stat/MqttDevice06/STATUS2:.* { json2nameValue($EVENT) }\
MqttDevice236:stat/MqttDevice06/STATUS3:.* { json2nameValue($EVENT) }\
MqttDevice236:stat/MqttDevice06/STATUS4:.* { json2nameValue($EVENT) }\
MqttDevice236:stat/MqttDevice06/STATUS5:.* { json2nameValue($EVENT) }\
MqttDevice236:stat/MqttDevice06/STATUS6:.* { json2nameValue($EVENT) }\
MqttDevice236:stat/MqttDevice06/STATUS7:.* { json2nameValue($EVENT) }\
MqttDevice236:stat/MqttDevice06/STATUS9:.* { json2nameValue($EVENT) }\
MqttDevice236:stat/MqttDevice06/STATUS10:.* { json2nameValue($EVENT) }\
MqttDevice236:stat/MqttDevice06/STATUS11:.* { json2nameValue($EVENT) }
attr MqttDevice236 room 1.18_Hauswirtschaft,9.6_Homekit,9.8_MQTT
attr MqttDevice236 setList off:noArg    cmnd/MqttDevice06/POWER1 0\
  on:noArg     cmnd/MqttDevice06/POWER1 1
attr MqttDevice236 setStateList on off
attr MqttDevice236 stateFormat POWER1
attr MqttDevice236 webCmd on:off

ein Threshold um eine Leistung richtig zu interpretieren
defmod TH_Trockner THRESHOLD MqttDevice236:ENERGY_Power:0.5:1.5||||active:done|_sc
attr TH_Trockner room 1.18_Hauswirtschaft
attr TH_Trockner state_cmd1_gt active
attr TH_Trockner state_cmd2_lt done
attr TH_Trockner state_format _sc

und einen Watchdog um das eindeutig zu erkennen.
defmod WD_Trockner watchdog TH_Trockner:done.* 00:05:00 TH_Trockner:active.* {\
fhem("set telegram message Der Trockner ist fertig.");;\
fhem("set MqttDevice236 off");;\
}
attr WD_Trockner autoRestart 1
attr WD_Trockner room 9.3_Watchdog

Das läuft problemlos und ist immer auf andere Geräte abbildbar. Nur so als Anregung. Ist natürlich halt old School.  ;) Bei Dir müsstest Du dem Threshold nur sagen das der maximale Wert größer als die 350 und den Whatchdog auf die Zeit anpassen. Dann könntest Du auch das Knitterprogramm eingeschaltet lassen.
Grüße aus Dewitz

VM auf Synology DS718+ mit FHEM 5.9 auf Debian 9.5/32-Bit (stretch)
Nächster Leipziger Stammtisch:

hoppel118

Zitat von: majorshark am 02 Juni 2019, 04:59:31
Bei Dir müsstest Du dem Threshold nur sagen das der maximale Wert größer als die 350 und den Whatchdog auf die Zeit anpassen. Dann könntest Du auch das Knitterprogramm eingeschaltet lassen.

Die DOIFs sind für mich einfacher zu verstehen. So wie es jetzt bei mir gelöst ist, kann ich das Knitterprogramm auch einschalten. Das Knitterprogramm kommt niemals über 400 Watt. Trockenprogramme kommen immer über 400 Watt. Das ist nun einer der Anhaltspunkte für das DOIF.

Aber Danke für das Posten deiner Lösung. Mir hilft das jetzt zwar nicht, aber da wird sich schon wer finden. ;)

Viele Grüße Hoppel
Server: Openmediavault, XEON E3-1240L-v5, Supermicro X11SSH-CTF, 64GB ECC RAM, SSD, RAID-Z2
Homebridge | Alexa | Yowsup
Homematic | HomeConnect | MQTT | Philips Hue | Sonos | Unifi Network & Protect | vbus | Xiaomi

Heimweh

Ich versuche das gerade für mich umzuschreiben, aber woher kommt das MqttDevice06?
Dein MqttDevice236 - das ist der SONOFF, aber der 06er? Kannst Du mir auf die Sprünge helfen?

Zitat von: majorshark am 02 Juni 2019, 04:59:31
Ich habe es bei mir in drei Devices verpackt. Das Gerät selbst,
defmod MqttDevice236 MQTT2_DEVICE MqttDevice236
attr MqttDevice236 DbLogInclude ENERGY_Power
attr MqttDevice236 IODev MQTT2_SERVER
attr MqttDevice236 alias Trockner
attr MqttDevice236 autocreate 1
attr MqttDevice236 devStateIcon on:rc_GREEN:off off:rc_RED:on
attr MqttDevice236 icon hue_filled_outlet
attr MqttDevice236 model A_01c_tasmota_POW
attr MqttDevice236 readingList tele/MqttDevice06/LWT:.* LWT\
  tele/MqttDevice06/STATE:.* { json2nameValue($EVENT) }\
  tele/MqttDevice06/SENSOR:.* { json2nameValue($EVENT) }\
  tele/MqttDevice06/INFO.:.* { json2nameValue($EVENT) }\
  stat/MqttDevice06/RESULT:.* { json2nameValue($EVENT) }\
MqttDevice236:stat/MqttDevice06/POWER1:.* POWER1\
MqttDevice236:tele/MqttDevice06/UPTIME:.* { json2nameValue($EVENT) }\
MqttDevice236:cmnd/MqttDevice06/POWER:.* POWER\
MqttDevice236:stat/MqttDevice06/STATUS:.* { json2nameValue($EVENT) }\
MqttDevice236:stat/MqttDevice06/STATUS1:.* { json2nameValue($EVENT) }\
MqttDevice236:stat/MqttDevice06/STATUS2:.* { json2nameValue($EVENT) }\
MqttDevice236:stat/MqttDevice06/STATUS3:.* { json2nameValue($EVENT) }\
MqttDevice236:stat/MqttDevice06/STATUS4:.* { json2nameValue($EVENT) }\
MqttDevice236:stat/MqttDevice06/STATUS5:.* { json2nameValue($EVENT) }\
MqttDevice236:stat/MqttDevice06/STATUS6:.* { json2nameValue($EVENT) }\
MqttDevice236:stat/MqttDevice06/STATUS7:.* { json2nameValue($EVENT) }\
MqttDevice236:stat/MqttDevice06/STATUS9:.* { json2nameValue($EVENT) }\
MqttDevice236:stat/MqttDevice06/STATUS10:.* { json2nameValue($EVENT) }\
MqttDevice236:stat/MqttDevice06/STATUS11:.* { json2nameValue($EVENT) }
attr MqttDevice236 room 1.18_Hauswirtschaft,9.6_Homekit,9.8_MQTT
attr MqttDevice236 setList off:noArg    cmnd/MqttDevice06/POWER1 0\
  on:noArg     cmnd/MqttDevice06/POWER1 1
attr MqttDevice236 setStateList on off
attr MqttDevice236 stateFormat POWER1
attr MqttDevice236 webCmd on:off

ein Threshold um eine Leistung richtig zu interpretieren
defmod TH_Trockner THRESHOLD MqttDevice236:ENERGY_Power:0.5:1.5||||active:done|_sc
attr TH_Trockner room 1.18_Hauswirtschaft
attr TH_Trockner state_cmd1_gt active
attr TH_Trockner state_cmd2_lt done
attr TH_Trockner state_format _sc

und einen Watchdog um das eindeutig zu erkennen.
defmod WD_Trockner watchdog TH_Trockner:done.* 00:05:00 TH_Trockner:active.* {\
fhem("set telegram message Der Trockner ist fertig.");;\
fhem("set MqttDevice236 off");;\
}
attr WD_Trockner autoRestart 1
attr WD_Trockner room 9.3_Watchdog

Das läuft problemlos und ist immer auf andere Geräte abbildbar. Nur so als Anregung. Ist natürlich halt old School.  ;) Bei Dir müsstest Du dem Threshold nur sagen das der maximale Wert größer als die 350 und den Whatchdog auf die Zeit anpassen. Dann könntest Du auch das Knitterprogramm eingeschaltet lassen.
RaspberryPi, 8 x Intertechnosteckdosen, ETA PU15 über HTTPMOD, Youless Eneergiemonitor, 8 x Technoline Funk Temperatur / Feuchtesensoren über jeeLink, Fritzbox Anbindung, Homematic Rolladen Aktoren, MAX Heizkörperventile + Cube, SONOFF S20, S26, POW, 4ch, OWD, Alexa-fhem, enOcean / Eltako,

majorshark

Das ist ein Überbleibsel nach dem Umbenennen. Das Device heißt in FHEM Device236 sendet aber selbst unter dem MQTT topic Device06. Das ist mir gar nicht aufgefallen. Das muss ich mal noch gerade ziehen.

Lass doch das Mqtt Device einfach vom MQTT2 Server automatisch anlegen. Letztendlich brauchst Du doch nur die aktuelle Leistung des Gerätes.
Grüße aus Dewitz

VM auf Synology DS718+ mit FHEM 5.9 auf Debian 9.5/32-Bit (stretch)
Nächster Leipziger Stammtisch:

Heimweh

Zitat von: majorshark am 11 Juni 2019, 18:23:42
Das ist ein Überbleibsel nach dem Umbenennen. Das Device heißt in FHEM Device236 sendet aber selbst unter dem MQTT topic Device06. Das ist mir gar nicht aufgefallen. Das muss ich mal noch gerade ziehen.

Lass doch das Mqtt Device einfach vom MQTT2 Server automatisch anlegen. Letztendlich brauchst Du doch nur die aktuelle Leistung des Gerätes.

Ja stimmt, da hast Du Recht! Ich danke Dir...
RaspberryPi, 8 x Intertechnosteckdosen, ETA PU15 über HTTPMOD, Youless Eneergiemonitor, 8 x Technoline Funk Temperatur / Feuchtesensoren über jeeLink, Fritzbox Anbindung, Homematic Rolladen Aktoren, MAX Heizkörperventile + Cube, SONOFF S20, S26, POW, 4ch, OWD, Alexa-fhem, enOcean / Eltako,

hoppel118

Hallo Leute,

ich beschäftige mich gerade etwas intensiver mit DOIF und versuche das alles mehr zu verstehen. Für meine Waschmaschine verwende ich das hier im Thread besprochene DOIF:

([EG_HWR_Strom_Waschmaschine_Pwr:power:d] > 0.1 and [?di_Waschmaschine] =~ "cmd_4|initialized")
  (({Log 3, "Waschmaschine: an"}))
DOELSEIF ([EG_HWR_Strom_Waschmaschine_Pwr:power:d] > 20 and [?di_Waschmaschine] eq "cmd_1")
  (({Log 3, "Waschmaschine: Programmstart"}),(set Unser_WhatsApp send Waschmaschine: Programmstart))
DOELSEIF ([EG_HWR_Strom_Waschmaschine_Pwr:power:d] < 2.5 and [?di_Waschmaschine]  eq "cmd_2")
  (({Log 3, "Waschmaschine: Programmende"}),(set Unser_WhatsApp send Waschmaschine: Programmende -> Denk dran: Wasser entleeren!!!))
DOELSEIF ([EG_HWR_Strom_Waschmaschine_Pwr:power:d] < 0.1 or [EG_HWR_Strom_Waschmaschine_Pwr:power:d] > 20 and [?di_Waschmaschine] eq "cmd_3")
  (({Log 3, "Waschmaschine: aus"}))


Wofür stehen die folgenden Ergänzungen in dem vorangegangenen DOIF:

and [?di_Waschmaschine] =~ "cmd_4|initialized
and [?di_Waschmaschine] eq "cmd_1"
and [?di_Waschmaschine]  eq "cmd_2"
and [?di_Waschmaschine] eq "cmd_3"


Braucht man das wirklich? Im Wiki finde ich dazu nichts oder ich suche an der falschen stelle im Wiki.

Danke und Gruß Hoppel
Server: Openmediavault, XEON E3-1240L-v5, Supermicro X11SSH-CTF, 64GB ECC RAM, SSD, RAID-Z2
Homebridge | Alexa | Yowsup
Homematic | HomeConnect | MQTT | Philips Hue | Sonos | Unifi Network & Protect | vbus | Xiaomi

Damian

Damit wird abgefragt in welchem Zustand sich das Modul zuletzt befunden hat, damit eine bestimmte Abfolge eingehalten werden kann. So funktioniert ein "Zustandsautomat".
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

willib

Ja, das ist der Trick an der Sache. Damit wird das DOIF zur Zustandsmaschine. Es wird damit der interne Zustand des DOIF geprüft. Damit wird sichergestellt, dass du zb den Status "Programmende" nur erreichen kannst wenn du aus dem Status "Programmstart" kommst.
https://de.wikipedia.org/wiki/Endlicher_Automat
FHEM in Debian 10 LXC unter Proxmox auf NUC, Homematic, Hue, Intertechno, Jeelink, RFXTRX, Harmony Hub, VU+ Uno 4K, Sonos, AMAD

hoppel118

OK, ich glaube ich verstehe es nun. Wenn ich diese Zustände in ein DOIF einfüge, wird es sequenziell abgearbeitet.

Im Umkehrschluss heißt das also, dass wenn ich ein DOIF mit mehreren DOELSEIF habe und auf diese Zustände verzichten würde, dass das DOIF nicht sequenziell abgearbeitet wird, sondern das DOELSEIF, welches den richtigen Zustand trifft, kommt zum Tragen. Anschließend geht es dann wieder von vorn (erste Zeile des DOIFs) los.

Habe ich das so richtig verstanden? :)

Danke euch und Gruß Hoppel
Server: Openmediavault, XEON E3-1240L-v5, Supermicro X11SSH-CTF, 64GB ECC RAM, SSD, RAID-Z2
Homebridge | Alexa | Yowsup
Homematic | HomeConnect | MQTT | Philips Hue | Sonos | Unifi Network & Protect | vbus | Xiaomi

Damian

Zitat von: hoppel118 am 03 Dezember 2019, 15:12:29
OK, ich glaube ich verstehe es nun. Wenn ich diese Zustände in ein DOIF einfüge, wird es sequenziell abgearbeitet.

Im Umkehrschluss heißt das also, dass wenn ich ein DOIF mit mehreren DOELSEIF habe und auf diese Zustände verzichten würde, dass das DOIF nicht sequenziell abgearbeitet wird, sondern das DOELSEIF, welches den richtigen Zustand trifft, kommt zum Tragen. Anschließend geht es dann wieder von vorn (erste Zeile des DOIFs) los.

Habe ich das so richtig verstanden? :)

Danke euch und Gruß Hoppel

So ist es.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

hoppel118

Server: Openmediavault, XEON E3-1240L-v5, Supermicro X11SSH-CTF, 64GB ECC RAM, SSD, RAID-Z2
Homebridge | Alexa | Yowsup
Homematic | HomeConnect | MQTT | Philips Hue | Sonos | Unifi Network & Protect | vbus | Xiaomi

God-of-Games

Hallo Zusammen,
ich habe nun auch versucht über den DOIF Befehl aus dem zweiten Post
define Waschmasch_di DOIF ([Waschmaschine:ENERGY_Power] > 0.1 and [?Waschmasch_di] =~ "cmd_4|initialized")
      (({Log 3, "Waschmaschine: Ein"}))## Schalter ein
DOELSEIF ([Waschmaschine:ENERGY_Power] > 20 and [?Waschmasch_di] eq "cmd_1")
     (({Log 3, "Waschmaschine: Programmstart"}))
DOELSEIF ([Waschmaschine:ENERGY_Power] > 20 and [?Waschmasch_di] eq "cmd_2") ## Ende (wenn länger als 5 min < 20)
     (({Log 3, "Waschmaschine: Programmende"}))
DOELSEIF ([Waschmaschine:ENERGY_Power] < 0.1 or [Waschmaschine:ENERGY_Power] > 20 and [?Waschmasch_di] eq "cmd_3")
     (({Log 3, "Waschmaschine: Aus"}))## Schalter aus oder Neustart ohne aus

mir eine Benachrichtigung zu erstellen.
Jedoch erhalte ich beim Ausführen des Befehls die Meldung
ZitatUnknown command (({Log, try help.

Was ich jetzt schon herausgefunden habe, das die Syntax auf Log3 umgestellt wurde, aber das ist schon älter aus dieses Thema.
Hat jemand einen Tipp wo der Fehler liegt?

andies

Probier mal Log 1 statt Log 3
FHEM 6.1 auf RaspPi3 (Raspbian:  6.1.21-v8+; Perl: v5.32.1)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

amenomade

Und warum sooo viele Klammern? Es reicht schon {} statt (({}))
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Damian

statt: (({Log 3, "Waschmaschine: Ein"}))

{Log3 undef, 3, "Waschmaschine: Ein"}
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

God-of-Games

Hallo Zusammen,
danke für die Antworten.
Zitat von: amenomade am 10 November 2020, 21:15:47
Und warum sooo viele Klammern? Es reicht schon {} statt (({}))
Ich habe hier einfach das Beispiel übernommen. Ich bin beim Wiki-Eintag davon ausgegangen, dass hier die "," unkenntlich gemacht werden müssen.

Am Ende war das Problem, dass ich einfach den Text über das "+" oben eingefügt habe. Der verlangt aber scheinbar einen Befehl pro Zeile. Beim ersten Mal waschen hat es zumindest funktioniert.

amenomade

Zitat von: God-of-Games am 11 November 2020, 11:14:21
Ich bin beim Wiki-Eintag davon ausgegangen, dass hier die "," unkenntlich gemacht werden müssen.

Und doch steht nirgendwo, dass man einen Perl Befehl mit (({})) eingeben muss, sondern
Zitat(<FHEM-Befehle>), ("<Systembefehle>") oder {<Perl-Befehle>}

Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

God-of-Games

Zitat von: amenomade am 11 November 2020, 18:31:23
Und doch steht nirgendwo, dass man einen Perl Befehl mit (({})) eingeben muss, sondern
Da in dem Beispiel kein Pearl-Code mit "," erwähnt wurde und der vorgestellte Code mit (({})) gepostet wurde bin ich davon ausgegangen, dass es so sein muss.


Damian

Es gab mal Zeiten, da musste man im DOIF ({...}) angeben.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

masterpete23

Zitat von: Ellert am 07 Februar 2016, 18:10:41
Ich habe es mit einem DOIF gelöst:

Ergänzter Auszug aus dem DEF-Editor:
Waschmasch_di DOIF ([Waschmaschine_Pwr:power] > 0.1 and [?Waschmasch_di] =~ "cmd_4|initialized")
      (({Log 3, "Waschmaschine: Ein"}))## Schalter ein
DOELSEIF ([Waschmaschine_Pwr:power] > 20 and [?Waschmasch_di] eq "cmd_1")
     (({Log 3, "Waschmaschine: Programmstart"}))
DOELSEIF ([Waschmaschine_Pwr:power] > 20 and [?Waschmasch_di] eq "cmd_2") ## Ende (wenn länger als 5 min < 20)
     (({Log 3, "Waschmaschine: Programmende"}))
DOELSEIF ([Waschmaschine_Pwr:power] < 0.1 or [Waschmaschine_Pwr:power] > 20 and [?Waschmasch_di] eq "cmd_3")
     (({Log 3, "Waschmaschine: Aus"}))## Schalter aus oder Neustart ohne aus


und die Attribute

do resetwait
repeatcmd 0:0:300:0
wait 0:0:300:0


Das DOIF startet, wenn die Waschmaschine aus ist (cmd_4) oder das DOIF initialisiert ist und power > 0.1 ist.
Wenn power > 20 nach cmd_1 wird der Programmstart angezeigt.
Wenn power länger als 5 Minuten unter 20 liegt nach cmd_2, dann ist die Maschine fertig.
Nach cmd_3 und bei power < 0.1 ist die Maschine ausgeschaltet oder falls eine weitere Maschine gewaschen wird, ohne auszuschalten, geht die Maschine über "Aus" (cmd_4) in den "Ein" Zustand.

siehe http://fhem.de/commandref_DE.html#DOIF
Hi,
ich habe mich nun auch mal mit meiner Messdose und MQTT2 rangewagt.
Nun postet er "frhöhlich" alle 5 Minuten ins Log.
Ist das so beabsichtigt? Habt ihr das auch so gelassen?
Internals:
   DEF        ([MQTT2_SP1_01:ENERGY_Power] > 0.1 and [?dWaschmaschine] =~ "cmd_4|initialized")
      (({Log 3, "Waschmaschine: Ein"}))## Schalter ein
DOELSEIF ([MQTT2_SP1_01:ENERGY_Power] > 20 and [?dWaschmaschine] eq "cmd_1")
     (({Log 3, "Waschmaschine: Programmstart"}))
DOELSEIF ([MQTT2_SP1_01:ENERGY_Power] > 20 and [?dWaschmaschine] eq "cmd_2") ## Ende (wenn länger als 5 min < 20)
     (({Log 3, "Waschmaschine: Programmende"}),(set teleBot message NEU Waschmaschine ist fertig NEU!))
DOELSEIF ([MQTT2_SP1_01:ENERGY_Power] < 0.1 or [MQTT2_SP1_01:ENERGY_Power] > 20 and [?dWaschmaschine] eq "cmd_3")
     (({Log 3, "Waschmaschine: Aus"}))## Schalter aus oder Neustart ohne aus
   FUUID      61e1a719-f33f-53cd-475f-6b37dc828d4a23ef
   MODEL      FHEM
   NAME       dWaschmaschine
   NOTIFYDEV  global,MQTT2_SP1_01
   NR         335
   NTFY_ORDER 50-dWaschmaschine
   STATE      cmd_4
   TYPE       DOIF
   VERSION    25386 2021-12-28 22:19:25
   READINGS:
     2022-01-14 20:13:09   Device          MQTT2_SP1_01
     2022-01-14 20:13:09   cmd             4
     2022-01-14 20:13:09   cmd_event       MQTT2_SP1_01
     2022-01-14 20:13:09   cmd_nr          4
     2022-01-14 20:13:09   e_MQTT2_SP1_01_ENERGY_Power 0
     2022-01-14 17:50:58   mode            enabled
     2022-01-14 20:13:09   state           cmd_4
   Regex:
     accu:
     collect:
     cond:
       MQTT2_SP1_01:
         0:
           ENERGY_Power ^MQTT2_SP1_01$:^ENERGY_Power:
         1:
           ENERGY_Power ^MQTT2_SP1_01$:^ENERGY_Power:
         2:
           ENERGY_Power ^MQTT2_SP1_01$:^ENERGY_Power:
         3:
           ENERGY_Power ^MQTT2_SP1_01$:^ENERGY_Power:
   attr:
     cmdState:
     repeatcmd:
       0
       0
       300
       0
     wait:
       0:
         0
       1:
         0
       2:
         300
       3:
         0
     waitdel:
   condition:
     0          ::ReadingValDoIf($hash,'MQTT2_SP1_01','ENERGY_Power') > 0.1 and ::InternalDoIf($hash,'dWaschmaschine','STATE') =~ "cmd_4|initialized"
     1          ::ReadingValDoIf($hash,'MQTT2_SP1_01','ENERGY_Power') > 20 and ::InternalDoIf($hash,'dWaschmaschine','STATE') eq "cmd_1"
     2          ::ReadingValDoIf($hash,'MQTT2_SP1_01','ENERGY_Power') > 20 and ::InternalDoIf($hash,'dWaschmaschine','STATE') eq "cmd_2"
     3          ::ReadingValDoIf($hash,'MQTT2_SP1_01','ENERGY_Power') < 0.1 or ::ReadingValDoIf($hash,'MQTT2_SP1_01','ENERGY_Power') > 20 and ::InternalDoIf($hash,'dWaschmaschine','STATE') eq "cmd_3"
   do:
     0:
       0          ({Log 3, "Waschmaschine: Ein"})
     1:
       0          ({Log 3, "Waschmaschine: Programmstart"})
     2:
       0          ({Log 3, "Waschmaschine: Programmende"}),(set teleBot message NEU Waschmaschine ist fertig NEU!)
     3:
       0          ({Log 3, "Waschmaschine: Aus"})
     4:
   helper:
     DEVFILTER  ^global$|^MQTT2_SP1_01$
     NOTIFYDEV  global|MQTT2_SP1_01
     event      ENERGY_ApparentPower: 0,ENERGY_Yesterday: 0.000,ENERGY_TotalStartTime: 2021-01-16T22:04:25,ENERGY_Current: 0.000,ENERGY_Total: 2.189,ENERGY_Factor: 0.00,ENERGY_Period: 0,Time: 2022-01-14T20:13:09,ENERGY_ReactivePower: 0,ENERGY_Power: 0,ENERGY_Today: 0.985,ENERGY_Voltage: 237
     globalinit 1
     last_timer 0
     sleeptimer -1
     timerdev   MQTT2_SP1_01
     timerevent ENERGY_ApparentPower: 0,ENERGY_Yesterday: 0.000,ENERGY_TotalStartTime: 2021-01-16T22:04:25,ENERGY_Current: 0.000,ENERGY_Total: 2.189,ENERGY_Factor: 0.00,ENERGY_Period: 0,Time: 2022-01-14T20:13:09,ENERGY_ReactivePower: 0,ENERGY_Power: 0,ENERGY_Today: 0.985,ENERGY_Voltage: 237
     triggerDev MQTT2_SP1_01
     DOIF_eventa:
       cmd_nr: 4
       cmd: 4
       cmd_event: MQTT2_SP1_01
       cmd_4
     DOIF_eventas:
       cmd_nr: 4
       cmd: 4
       cmd_event: MQTT2_SP1_01
       state: cmd_4
     timerevents:
       ENERGY_ApparentPower: 0
       ENERGY_Yesterday: 0.000
       ENERGY_TotalStartTime: 2021-01-16T22:04:25
       ENERGY_Current: 0.000
       ENERGY_Total: 2.189
       ENERGY_Factor: 0.00
       ENERGY_Period: 0
       Time: 2022-01-14T20:13:09
       ENERGY_ReactivePower: 0
       ENERGY_Power: 0
       ENERGY_Today: 0.985
       ENERGY_Voltage: 237
     timereventsState:
       ENERGY_ApparentPower: 0
       ENERGY_Yesterday: 0.000
       ENERGY_TotalStartTime: 2021-01-16T22:04:25
       ENERGY_Current: 0.000
       ENERGY_Total: 2.189
       ENERGY_Factor: 0.00
       ENERGY_Period: 0
       Time: 2022-01-14T20:13:09
       ENERGY_ReactivePower: 0
       ENERGY_Power: 0
       ENERGY_Today: 0.985
       ENERGY_Voltage: 237
     triggerEvents:
       ENERGY_ApparentPower: 0
       ENERGY_Yesterday: 0.000
       ENERGY_TotalStartTime: 2021-01-16T22:04:25
       ENERGY_Current: 0.000
       ENERGY_Total: 2.189
       ENERGY_Factor: 0.00
       ENERGY_Period: 0
       Time: 2022-01-14T20:13:09
       ENERGY_ReactivePower: 0
       ENERGY_Power: 0
       ENERGY_Today: 0.985
       ENERGY_Voltage: 237
     triggerEventsState:
       ENERGY_ApparentPower: 0
       ENERGY_Yesterday: 0.000
       ENERGY_TotalStartTime: 2021-01-16T22:04:25
       ENERGY_Current: 0.000
       ENERGY_Total: 2.189
       ENERGY_Factor: 0.00
       ENERGY_Period: 0
       Time: 2022-01-14T20:13:09
       ENERGY_ReactivePower: 0
       ENERGY_Power: 0
       ENERGY_Today: 0.985
       ENERGY_Voltage: 237
   internals:
     all         dWaschmaschine:STATE
   perlblock:
   readings:
     all         MQTT2_SP1_01:ENERGY_Power
   trigger:
   uiState:
   uiTable:
Attributes:
   do         resetwait
   repeatcmd  0:0:300:0
   room       Logik
   wait       0:0:300:0

Ellert

Bei dem Zitat handelt es sich um die Antwort  zum ersten Beitrag und dort geht es um eine HM-Messsteckdose. Andere erforden ggf. andere Timer, Schaltschwellen oder Auslöser. Und selbstverständlich kann man die Log-Befehle löschen, wenn man nichts loggen möchte.

masterpete23

Danke dir. Ich suche halt immer nach den Gründen warum man sich alle 5 Minuten etwas ins Log posten lassen will.
Also generell Frage ich mich warum Menschen manches machen, damit ich es für mich bewerten kann, ob es für mich auch gut ist :)

Ellert

Die Log-Befehle sind nur Infos bis alles funktioniert, dann können sie raus. Die Wiederholung ist für die Vergesslichen drin, bei mir war das eine Ansage, die solange läuft bis die Maschine ausgeschaltet wird..

Ich habe bei der neuen Waschmaschine, die sich selbst ausschaltet, auf Zwischenzustände verzichtet, aktuell sieht es so aus:
## 1
([Waschmaschine_Pwr:power] > 1 and [?$SELF] =~ "cmd_3|cmd_2|initialized")
   (setreading $SELF energy_start [Waschmaschine_Pwr:energy],
   set sag1 tts :gong: Die Waschmaschine wurde eingeschaltet,
   set sag1pi2 tts Die Waschmaschine wurde eingeschaltet) ## Schalter ein
## 2
DOELSEIF ([Waschmaschine_Pwr:power] < 1 and [?$SELF] eq "cmd_1")
   (setreading $SELF energy {(int([Waschmaschine_Pwr:energy] - [$SELF:energy_start]))},
    set sag1 tts :gong: Die Waesche ist gewaschen und geschleudert,
    set sag1pi2 tts Die Waesche ist gewaschen und geschleudert)
## 3
DOELSEIF (["^PIR2(4|5)$:^Counter: "] and [?Waschmaschine_Pwr:power] < 0.1 and [?$SELF] eq "cmd_2")
   (set sag1 tts :gong: Die Waesche ist gewaschen und geschleudert)


Ohne steuernde Attribute.

romakrau

#67
Hallo zusammen,
ich habe einen ziemlich zickigen Trockner der bei Programmende den Zustand SENSOR_ENERGY_Power 0|1 permanent wechselt. Das habe ich mit einem waitsame für den Zustand Programmende abgefangen. Leider geht das DOIF nicht in den Zustand aus.  Anbei mal List des zugegebener Maßen etwas umständliche DOIF.

  MODEL      FHEM
   NAME       DF_Trockner
   NOTIFYDEV  global,DF_Trockner,Trockner
   NR         305
   NTFY_ORDER 50-DF_Trockner
   STATE      Trockner: aus Zeit: 0 Verbrauch: 0.0
   TYPE       DOIF
   VERSION    25295 2021-12-04 18:13:39
   OLDREADINGS:
   READINGS:
     2022-01-25 16:57:44   Dauer           0
     2022-01-25 13:58:29   Endkw           1.046
     2022-01-25 16:57:44   Startkw         1.046
     2022-01-25 16:57:51   Status          aus
     2022-01-25 17:00:07   cmd             0
     2022-01-25 17:00:07   kWh             0.0
     2022-01-25 17:00:07   mode            enabled
     2022-01-25 17:00:07   state           initialized
   Regex:
     accu:
     collect:
     cond:
       DF_Trockner:
         0:
           state      ^DF_Trockner$:^state:
         1:
           state      ^DF_Trockner$:^state:
         2:
           state      ^DF_Trockner$:^state:
         3:
           state      ^DF_Trockner$:^state:
       Trockner:
         0:
           SENSOR_ENERGY_Power ^Trockner$:^SENSOR_ENERGY_Power:
         1:
           SENSOR_ENERGY_Power ^Trockner$:^SENSOR_ENERGY_Power:
         2:
           SENSOR_ENERGY_Power ^Trockner$:^SENSOR_ENERGY_Power:
         3:
           SENSOR_ENERGY_Power ^Trockner$:^SENSOR_ENERGY_Power:
   attr:
     cmdState:
     repeatcmd:
     wait:
     waitdel:
     waitsame:
       0
       0
       120
       0
   condition:
     0          ::ReadingValDoIf($hash,'Trockner','SENSOR_ENERGY_Power') > 0.9 and (::ReadingValDoIf($hash,'DF_Trockner','state') eq "cmd_4" or ::ReadingValDoIf($hash,'DF_Trockner','state') eq "initialized")
     1          ::ReadingValDoIf($hash,'Trockner','SENSOR_ENERGY_Power') > 20 and ::ReadingValDoIf($hash,'DF_Trockner','state') eq "cmd_1"
     2          ::ReadingValDoIf($hash,'Trockner','SENSOR_ENERGY_Power') < 1 and ::ReadingValDoIf($hash,'DF_Trockner','state') eq "cmd_2"
     3          (::ReadingSecDoIf('Trockner','SENSOR_ENERGY_Power') > 300 or  ::ReadingValDoIf($hash,'Trockner','SENSOR_ENERGY_Power') > 20 )and ::ReadingValDoIf($hash,'DF_Trockner','state') eq "cmd_3"
   do:
     0:
       0          set DF_Trockner Status an, set DF_Trockner Dauer 0, set DF_Trockner Startkw [Trockner:SENSOR_ENERGY_Total] , ({Log 3, "Trockner: Ein"})
     1:
       0          set DF_Trockner Status ProgStart, ({Log 3, "Trockner: Programmstart"})
     2:
       0          set DF_Trockner Dauer {(split(' ', gmtime(ReadingsAge("DF_Trockner","Status",0))))[3]}, set DF_Trockner Status ProgEnde, set DF_Trockner Endkw [Trockner:SENSOR_ENERGY_Total], set DY_Trockner on,    ({Log 3, "Trockner: Programmende"})
     3:
       0          set DF_Trockner Status aus, ({Log 3, "Trockner: Aus"})
     4:
   helper:
     DEVFILTER  ^global$|^DF_Trockner$|^Trockner$
     NOTIFYDEV  global|DF_Trockner|Trockner
     globalinit 1
     last_timer 0
     sleeptimer -1
   readings:
     all         Trockner:SENSOR_ENERGY_Power DF_Trockner:state
   uiState:
   uiTable:
Attributes:
   group      Trockner
   readingList Dauer Startkw Endkw Status kWh
   room       Geräte
   stateFormat Trockner: Status Zeit: Dauer Verbrauch: kWh
   userReadings kWh { sprintf("%.1f",(ReadingsVal("DF_Trockner","Endkw",0)-ReadingsVal("DF_Trockner","Startkw",0))) }
   verbose    3
   waitsame   0:0:120:0


Der Power Metering Dose aktualisiert allerdings alle 30 Sekunden und hat aber das Attribut :

event-on-change-reading SENSOR_ENERGY_Power,SENSOR_ENERGY_Current

Der Auszug aus dem Log:
2022-01-25_14:24:29 Trockner SENSOR_ENERGY_Current: 0.052
2022-01-25_14:24:59 Trockner SENSOR_ENERGY_Current: 0.000
2022-01-25_14:24:59 Trockner SENSOR_ENERGY_Power: 0.000
2022-01-25_14:26:29 Trockner SENSOR_ENERGY_Current: 0.052
2022-01-25_14:26:29 Trockner SENSOR_ENERGY_Power: 1.000
2022-01-25_14:26:59 Trockner SENSOR_ENERGY_Power: 0.000
2022-01-25_14:26:59 Trockner SENSOR_ENERGY_Current: 0.000
2022-01-25_14:27:29 Trockner SENSOR_ENERGY_Current: 0.055
2022-01-25_14:27:29 Trockner SENSOR_ENERGY_Power: 1.000
2022-01-25_14:27:59 Trockner SENSOR_ENERGY_Current: 0.062
2022-01-25_14:28:59 Trockner SENSOR_ENERGY_Current: 0.000
2022-01-25_14:28:59 Trockner SENSOR_ENERGY_Power: 0.000
2022-01-25_14:29:29 Trockner SENSOR_ENERGY_Current: 0.058
2022-01-25_14:29:29 Trockner SENSOR_ENERGY_Power: 1.000
2022-01-25_14:29:59 Trockner SENSOR_ENERGY_Current: 0.000
2022-01-25_14:30:29 Trockner SENSOR_ENERGY_Power: 0.000


Gibt es da eine andere Lösung die greift.
Gruß
Roman

Damian

#68
Wie soll er das schaffen, wenn im Status etwas anderes als erwartet steht? Siehe deine Definition, die du im list abgeschnitten hast.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

romakrau

Entschuldige aber die Antwort verstehe ich nicht.? Das state initialized stammt aus einer Änderung des DOIF.

Damian

Zitat von: romakrau am 25 Januar 2022, 20:50:30
Entschuldige aber die Antwort verstehe ich nicht.? Das state initialized stammt aus einer Änderung des DOIF.

Im Status werden verschiedene Zustände abgefragt, auf jeden Fall nicht dieser:    STATE      Trockner: aus Zeit: 0 Verbrauch: 0.0
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

romakrau

Hier nun nochmal das List nach dem setzen des cmd_3 per set:
Internals:
   DEF        ([Trockner:SENSOR_ENERGY_Power] > 0.9 and ([DF_Trockner:state] eq "cmd_4" or [DF_Trockner:state] eq "initialized"))(set $SELF Status an, set $SELF Dauer 0, set $SELF Startkw [Trockner:SENSOR_ENERGY_Total] , ({Log 3, "Trockner: Ein"})) DOELSEIF ([Trockner:SENSOR_ENERGY_Power] > 20 and [DF_Trockner:state] eq "cmd_1") (set $SELF Status ProgStart, ({Log 3, "Trockner: Programmstart"})) DOELSEIF ([Trockner:SENSOR_ENERGY_Power] < 1 and [DF_Trockner:state] eq "cmd_2") (set $SELF Dauer {(split(' ', gmtime(ReadingsAge("$SELF","Status",0))))[3]}, set $SELF Status ProgEnde, set $SELF Endkw [Trockner:SENSOR_ENERGY_Total], set DY_Trockner on,    ({Log 3, "Trockner: Programmende"})) DOELSEIF (([?Trockner:SENSOR_ENERGY_Power:sec] > 300 or  [Trockner:SENSOR_ENERGY_Power] > 20 )and [DF_Trockner:state] eq "cmd_3" ) (set $SELF Status aus, ({Log 3, "Trockner: Aus"}))
   FUUID      61cee8d7-f33f-e93f-94de-a91a14f3972a62c0
   MODEL      FHEM
   NAME       DF_Trockner
   NOTIFYDEV  global,DF_Trockner,Trockner
   NR         305
   NTFY_ORDER 50-DF_Trockner
   STATE      Trockner: ProgEnde Zeit: 00:00:13 Verbrauch: 0.0
   TYPE       DOIF
   VERSION    25295 2021-12-04 18:13:39
   OLDREADINGS:
   READINGS:
     2022-01-25 20:53:00   Dauer           00:00:13
     2022-01-25 20:53:00   Endkw           1.046
     2022-01-25 20:52:38   Startkw         1.046
     2022-01-25 20:53:00   Status          ProgEnde
     2022-01-25 20:53:00   cmd             3
     2022-01-25 20:53:00   cmd_event       set_cmd_3
     2022-01-25 20:53:00   cmd_nr          3
     2022-01-25 20:53:00   e_DF_Trockner_state cmd_3
     2022-01-25 20:53:00   kWh             0.0
     2022-01-25 17:00:07   mode            enabled
     2022-01-25 20:53:00   state           cmd_3
   Regex:
     accu:
     collect:
     cond:
       DF_Trockner:
         0:
           state      ^DF_Trockner$:^state:
         1:
           state      ^DF_Trockner$:^state:
         2:
           state      ^DF_Trockner$:^state:
         3:
           state      ^DF_Trockner$:^state:
       Trockner:
         0:
           SENSOR_ENERGY_Power ^Trockner$:^SENSOR_ENERGY_Power:
         1:
           SENSOR_ENERGY_Power ^Trockner$:^SENSOR_ENERGY_Power:
         2:
           SENSOR_ENERGY_Power ^Trockner$:^SENSOR_ENERGY_Power:
         3:
           SENSOR_ENERGY_Power ^Trockner$:^SENSOR_ENERGY_Power:
   attr:
     cmdState:
     repeatcmd:
     wait:
     waitdel:
     waitsame:
       0
       0
       120
       0
   condition:
     0          ::ReadingValDoIf($hash,'Trockner','SENSOR_ENERGY_Power') > 0.9 and (::ReadingValDoIf($hash,'DF_Trockner','state') eq "cmd_4" or ::ReadingValDoIf($hash,'DF_Trockner','state') eq "initialized")
     1          ::ReadingValDoIf($hash,'Trockner','SENSOR_ENERGY_Power') > 20 and ::ReadingValDoIf($hash,'DF_Trockner','state') eq "cmd_1"
     2          ::ReadingValDoIf($hash,'Trockner','SENSOR_ENERGY_Power') < 1 and ::ReadingValDoIf($hash,'DF_Trockner','state') eq "cmd_2"
     3          (::ReadingSecDoIf('Trockner','SENSOR_ENERGY_Power') > 300 or  ::ReadingValDoIf($hash,'Trockner','SENSOR_ENERGY_Power') > 20 )and ::ReadingValDoIf($hash,'DF_Trockner','state') eq "cmd_3"
   do:
     0:
       0          set DF_Trockner Status an, set DF_Trockner Dauer 0, set DF_Trockner Startkw [Trockner:SENSOR_ENERGY_Total] , ({Log 3, "Trockner: Ein"})
     1:
       0          set DF_Trockner Status ProgStart, ({Log 3, "Trockner: Programmstart"})
     2:
       0          set DF_Trockner Dauer {(split(' ', gmtime(ReadingsAge("DF_Trockner","Status",0))))[3]}, set DF_Trockner Status ProgEnde, set DF_Trockner Endkw [Trockner:SENSOR_ENERGY_Total], set DY_Trockner on,    ({Log 3, "Trockner: Programmende"})
     3:
       0          set DF_Trockner Status aus, ({Log 3, "Trockner: Aus"})
     4:
   helper:
     DEVFILTER  ^global$|^DF_Trockner$|^Trockner$
     NOTIFYDEV  global|DF_Trockner|Trockner
     event      cmd_nr: 3,cmd: 3,cmd_event: set_cmd_3,cmd_3,kWh: 0.0
     globalinit 1
     last_timer 0
     sleeptimer -1
     timerdev   DF_Trockner
     timerevent cmd_nr: 2,cmd: 2,cmd_event: set_cmd_2,cmd_2,kWh: 0.0
     triggerDev DF_Trockner
     timerevents:
       cmd_nr: 2
       cmd: 2
       cmd_event: set_cmd_2
       cmd_2
       kWh: 0.0
       e_DF_Trockner_state: cmd_2
       kWh: 0.0
       waitsame: cmd_3
       kWh: 0.0
     timereventsState:
       cmd_nr: 2
       cmd: 2
       cmd_event: set_cmd_2
       state: cmd_2
       kWh: 0.0
     triggerEvents:
       cmd_nr: 3
       cmd: 3
       cmd_event: set_cmd_3
       cmd_3
       kWh: 0.0
       e_DF_Trockner_state: cmd_3
       kWh: 0.0
     triggerEventsState:
       cmd_nr: 3
       cmd: 3
       cmd_event: set_cmd_3
       state: cmd_3
       kWh: 0.0
   internals:
   readings:
     all         Trockner:SENSOR_ENERGY_Power DF_Trockner:state
   trigger:
   uiState:
   uiTable:
Attributes:
   group      Trockner
   readingList Dauer Startkw Endkw Status kWh
   room       Geräte
   stateFormat Trockner: Status Zeit: Dauer Verbrauch: kWh
   userReadings kWh { sprintf("%.1f",(ReadingsVal("DF_Trockner","Endkw",0)-ReadingsVal("DF_Trockner","Startkw",0))) }
   verbose    3
   waitsame   0:0:120:0


Gruß
Roman

romakrau

#72
Achso, jetzt verstehe ich. Für mich sind STATE und state zwei verschiedene Werte. Zustand cmd_1 bis cmd_3 läuft auch. Ich hätte nur erwartet das die Abfrage "[?Trockner:SENSOR_ENERGY_Power:sec] > 300" wahr wird wenn der Trockner ausgeschaltet ist, da ich ja das event-on-change-reading SENSOR_ENERGY_Power,SENSOR_ENERGY_Current gesetzt habe.Leider ist dem nicht so. 

Damian

Zitat von: romakrau am 25 Januar 2022, 21:04:35
Achso, jetzt verstehe ich. Für mich sind STATE und state zwei verschiedene Werte.

Daher musst du statt auf STATE auf das Reading state abfragen oder dein StateFormat rausnehmen.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

romakrau

In den Tiefen des Wiki's habe ich die Lösung gefunden. Das Attribut heisst "timestamp-on-change-reading" . Dadurch wird eine Aktualiserung des Timestamp des Readings unterdrückt wenn kein Event ausgelöst wird. Genial  :D

Damian

#75
Zitat von: romakrau am 25 Januar 2022, 22:18:23
In den Tiefen des Wiki's habe ich die Lösung gefunden. Das Attribut heisst "timestamp-on-change-reading" . Dadurch wird eine Aktualiserung des Timestamp des Readings unterdrückt wenn kein Event ausgelöst wird. Genial  :D

Wäre da nicht besser event-on-change-reading zu setzen? Da wird auch kein Timestamp gesetzt, vor allem wird kein Event erzeugt, wenn sich das Reading nicht ändert.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

romakrau

#76
Hallo Damian,

Danke das Du dir nochmals Gedanken gemacht hast. Der Sachverhalt ist nicht ganz einfach und ich versuche es mal so zu erklären wie ich es verstanden habe.

Das MQTT-Device "Trockner" wird alle 30 Sekunden von der Messdose aktualisiert wobei der Timestamp immer neu gesetzt. Es wird aber kein "Event" erzeugt da "event-on-change-reading" gesetzt ist. Die Abfrage "[?Trockner:SENSOR_ENERGY_Power:sec] > 300" konnte also niemals > 30 werden. Außerdem ist zum Auslösen des Kommandos immer ein Event in Verbindung mit der Abfrage des Alters des Timestamps vonnöten. Das mit dem Fragezeichen lt. Commandref erwies sich auch als falsch. Durch das Setzen des Attributs "timestamp-on-change-reading" konnte die Aktualisierung des Timestamps unterbunden werden. Theoretisch funktioniert es mittels Setzen des cmd_3 jetzt. Praktisch muss sich noch erweisen, da ich nicht die Hausbewohner wecken wollte  ;D. Das DOIF sieht mittlerweile so aus:

([Trockner:SENSOR_ENERGY_Power] > 0.9 and ([DF_Trockner:state] eq "cmd_4" or [DF_Trockner:state] eq "initialized"))
(set $SELF Status an, set $SELF Dauer 0, set $SELF Startkw [Trockner:SENSOR_ENERGY_Total] , ({Log 3, "Trockner: Ein"}))
DOELSEIF
([Trockner:SENSOR_ENERGY_Power] > 20 and [DF_Trockner:state] eq "cmd_1")
(set $SELF Status ProgStart, ({Log 3, "Trockner: Programmstart"}))
DOELSEIF ([Trockner:SENSOR_ENERGY_Power] < 1 and [DF_Trockner:state] eq "cmd_2")
(set $SELF Dauer {(split(' ', gmtime(ReadingsAge("$SELF","Status",0))))[3]}, set $SELF Status ProgEnde, set $SELF Endkw [Trockner:SENSOR_ENERGY_Total], set DY_Trockner on, ({Log 3, "Trockner: Programmende"}))
DOELSEIF
((([+00:03] and [Trockner:SENSOR_ENERGY_Power:sec] > 300) or [Trockner:SENSOR_ENERGY_Power] > 20 )and [DF_Trockner:state] eq "cmd_3" )
(set $SELF Status aus, set DY_Trockner off, ({Log 3, "Trockner: Aus"}))


Gruß
Roman

Damian

Naja, ich sehe hier:

([+00:03] and [Trockner:SENSOR_ENERGY_Power:sec] > 300)..

eine Angabe, die über einen Timer triggert, daher braucht die Abfrage der Zeit nicht zu triggern, also

([+00:03] and [?Trockner:SENSOR_ENERGY_Power:sec] > 300)..

bei den anderen Abfragen, z. B.:

[Trockner:SENSOR_ENERGY_Power] > 20

braucht man auch keinen Trigger, wenn sich der Wert von SENSOR_ENERGY_Power nicht ändert.

Daher, sollte event-on-change auf das Reading kein Problem darstellen.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

romakrau

Das mit dem [? funktioniert nicht bei mir. Weisst du warum.

Damian

Zitat von: romakrau am 26 Januar 2022, 13:42:44
Das mit dem [? funktioniert nicht bei mir. Weisst du warum.

nein, wahrscheinlich ist der Wert nicht über 300
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Rheingold

Zitat von: Ellert am 21 Januar 2022, 18:24:15
## 3
DOELSEIF (["^PIR2(4|5)$:^Counter: "] and [?Waschmaschine_Pwr:power] < 0.1 and [?$SELF] eq "cmd_2")
   (set sag1 tts :gong: Die Waesche ist gewaschen und geschleudert)


Mal ganz blöd gefragt, was macht das " ["^PIR2(4|5)$:^Counter: "] "?  :o
Fhem auf Raspi 3; Jeelink mit 6x TX29DTH; CUL433 mit 9x RCS 1000 N und Somfy-Steuerung; CUL868; MAX-Cube + Thermostate; Philips Hue & Ikea Tradfri; Google Home Assistant; FTUI für Tablet und SmartPhone via Reverse-Proxy

Damian

Zitat von: Rheingold am 18 März 2022, 12:40:45
Mal ganz blöd gefragt, was macht das " ["^PIR2(4|5)$:^Counter: "] "?  :o

Wenn das Device "PIR24" oder "PIR25" beginnend mit dem Event  "Counter:" triggert ...
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF