Hallo zusammen,
ich überwache unsere Waschmaschine und den Trockner im Keller mit zwei PCA301 Energiemesssteckdosen. Da vor allem die Waschmaschine relativ starke Schwankungen im Stromverbrauch hat, glätte ich das power-Reading über die movingAverage Methode aus dem Wiki.
Nun ist es leider so, dass die PCA301 nur regelmäßige Readings liefert, wenn tatsächlich ein Verbraucher aktiv ist. Ich möchte allerdings gerade das Ende eines Waschgangs erkennen.
Bisher hatte ich folgende beiden Userreadings:
avg_power:power.* {movingAverage("Keller_Trockner","power",300)}, status:power.* { (ReadingsVal("Keller_Trockner","avg_power",0) >= 30) ? 'aktiv' : 'standby';; }
Leider klappt das aber nicht wie gewünscht. Während dem Betrieb der WaMa passt alles super, nur am Schluss des Waschgangs kann es teilweise sehr lang dauern, bis neue Readings kommen und damit das avg_power Reading langsam absinkt.
Habt ihr eine Idee, wie ich das ggf. umgehen könnte? Ggf. per Watchdog, der das Reading automatisch auf "0" aktualisiert, wenn kein Reading von dem Device selbst kommt?
Vielen Dank und beste Grüße
Moin d.schoen
Ich habe mir ein DOIF angelegt das die Waschmaschiene überwacht und
mir die Waschladungen zählt sowie das Telefon klingeln läst wenn sie Fertig ist.
defmod check_Waschmaschine DOIF ([Waschmaschine_Schalter:power]>3)\
(set Waschmaschine on)\
(setreading Waschmaschine waschladungen {([Waschmaschine:waschladungen]+1)}) \
DOELSEIF ([Waschmaschine_Schalter:power]<3)\
(set Waschmaschine off)\
(set FritzBox ring 612 20 News show:Waschmaschiene)\
attr check_Waschmaschine devStateIcon no timer:timer.off timer:timer.on
attr check_Waschmaschine sortby 3
attr check_Waschmaschine wait 60:60
setstate check_Waschmaschine cmd_2
setstate check_Waschmaschine 2017-04-20 11:16:04 Device Waschmaschine_Schalter
setstate check_Waschmaschine 2017-04-18 12:28:52 cmd 2.2
setstate check_Waschmaschine 2017-04-18 12:28:52 cmd_event Waschmaschine_Schalter
setstate check_Waschmaschine 2017-04-18 12:28:52 cmd_nr 2
setstate check_Waschmaschine 2017-04-18 12:28:52 cmd_seqnr 2
setstate check_Waschmaschine 2017-04-20 11:16:04 e_Waschmaschine_Schalter_power 0
setstate check_Waschmaschine 2017-04-18 12:28:52 state cmd_2
setstate check_Waschmaschine 2017-04-20 17:19:27 wait_timer no timer
Waschmaschine_Schalter ist die Steckdose.
Waschmaschine ist ein Dummy, der mir nur Anzeigt ob Waschmaschine läuft.
check_Waschmaschine ist das DOIF
FritzBox ist das Fritzbox Modul
Bei läuft es so prima und die Frau will es nicht mehr missen. ;D
Ich hoffe das ist alles so Richtig, bin halt auch noch Anfänger. ???
Die Profis mögens mir Verzeihen. :)
Danke dir! So weit bin ich auch schon. Ich habe das ganze über TelegramBot gelöst.
Ich habe nur noch ein Problem mit der Weiterverarbeitung des Stromverbrauchs.
Wie man in dem angehängten Plot sieht, schwankt der Verbrauch der Waschmaschine relativ stark und geht oft auch auf Werte knapp über 0 zurück. Daher brauche ich da eine Glättung. Nun ist nur das Problem, dass der Durchschnittswert (dicke Linie) nach dem Ende des Waschgangs sehr langsam abfällt, was damit zusammenhängt, dass keine neuen Readings generiert werden, wenn kein Strom verbraucht wird.
Diesen langsamen Abfall würde ich gern irgendwie beschleunigen. Vielleicht bin ich mit dem movingAverage auch vollkommen auf dem Holzweg und ich sollte eine Kombination aus Durchschnitt und normalen "power" Reading nutzen.
Moin d.schoen
Zitat... Vielleicht bin ich mit dem movingAverage auch vollkommen auf dem Holzweg ...
Denk ich auch.
Ist dir diese Zeile "attr check_Waschmaschine wait 60:60" aufgefallen.
Sehe dazu am besten mal beim DOIF Modul nach.