Ich hab das bei mir auch schon seit Jahren über ein DOIF laufen.
Der erste Zweig frägt ab ob die das power Reading über einen bestimmten Schwellwert (z.B. 5 Watt) gestiegen ist -> Waschmaschine läuft
In dem Zweig setze ich dann zwei Readings "running" und "on" im Waschmaschinen-Device auf 1.
Der zweite Zweig greift, wenn das Power Reading unter einen gewissen Schwellwert fällt.
Hier wird dann "running" wieder auf 0 gesetzt. Allerdings über das wait Attribut um 240s verzögert.
Steigt in der Zeit der Wert wieder über den Schwellwert von Zweig 1, wird das wait abgebrochen und "running" bleibt auf 1.
Man muss eben schauen wie lang die Pausen zwischen den Heiz- oder Schleuderphasen sind, damit das "running" auch sicher erst nach Waschende auf 0 geht.
Wird die Waschmaschine dann am Hauptschalter ausgeschaltet, geht der Verbrauch noch weiter runter (< 0.4W)
Dies wird im dritten Zweig abgefragt und setzt dann das Reading "on" auch wieder auf 0.
Hintergrund für die 3 Zustände ist, dass wir so eine Uhr im Wohnzimmer stehen haben:
https://lametric.com/Ist die Wäsche fertig, wird vor der Uhrzeit ein Waschmaschinensymbol angezeigt.
Holt man die Wäsche aus dem Keller (und schaltet die Waschmaschine aus), verschwindet das Symbol wieder von allein, ohne dass man es quittieren muss.
Ist sicher nicht das eleganteste DOIF, aber war eine der ersten Dinge die ich mit FHEM umgesetzt habe und wurde seither nie angefasst, da es problemlos läuft.