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/ (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
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
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
Gib mal Deinen ganzen Code bitte.
Hallo,
commandref lesen - readingsnum finden - umsetzen als userReading und das nehmen.
Gruß Christoph
PS. Das habe ich auch gerade erst nachgeschaut ;-)
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
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"}))
danke für Lösung !
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"})) \
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 ;)
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
Ersetze das nicht erkannte Zeichen durch eines, das Perl kennt oder lösche es.
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.
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.
Ich habe mal die Leerzeichen hinter 4 gelöscht und neu geschrieben. Hier war anscheinend das \xC2 unsichtbar drin. Jetzt geht es. Danke.
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.
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
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.
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" ???
Ups, das war repeatsame mit dem nur X mal
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
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
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.
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!
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
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...
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
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.
Irgenwelches "Knitterschutz" Programm am Ende?
Die Lösung von Neuhier sollte ja gehen. Oder statt ein Dummy, ein Readings des DOIFs selbst.
@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
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
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
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
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) ::)
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 ?
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
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?
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
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"
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
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
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)
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
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.
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
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.
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.
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...
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
Damit wird abgefragt in welchem Zustand sich das Modul zuletzt befunden hat, damit eine bestimmte Abfolge eingehalten werden kann. So funktioniert ein "Zustandsautomat".
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 (https://de.wikipedia.org/wiki/Endlicher_Automat)
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
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.
Danke dir
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 (https://forum.fhem.de/index.php?topic=14341.0), aber das ist schon älter aus dieses Thema.
Hat jemand einen Tipp wo der Fehler liegt?
Probier mal Log 1 statt Log 3
Und warum sooo viele Klammern? Es reicht schon {} statt (({}))
statt: (({Log 3, "Waschmaschine: Ein"}))
{Log3 undef, 3, "Waschmaschine: Ein"}
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 (https://wiki.fhem.de/wiki/DOIF/Einsteigerleitfaden,_Grundfunktionen_und_Erl%C3%A4uterungen#Angaben_im_Befehlsteil) 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.
Zitat von: God-of-Games am 11 November 2020, 11:14:21
Ich bin beim Wiki-Eintag (https://wiki.fhem.de/wiki/DOIF/Einsteigerleitfaden,_Grundfunktionen_und_Erl%C3%A4uterungen#Angaben_im_Befehlsteil) 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>}
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.
Es gab mal Zeiten, da musste man im DOIF ({...}) angeben.
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
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.
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 :)
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.
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
Wie soll er das schaffen, wenn im Status etwas anderes als erwartet steht? Siehe deine Definition, die du im list abgeschnitten hast.
Entschuldige aber die Antwort verstehe ich nicht.? Das state initialized stammt aus einer Änderung des DOIF.
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
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
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.
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.
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
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.
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
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.
Das mit dem [? funktioniert nicht bei mir. Weisst du warum.
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
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
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 ...