Sichere Erkennung "Waschmaschine fertig"

  • Hallo!

    Ich bin etwas am verzweifeln. :/

    An meiner Waschmaschine hängt eine Tasmota-Steckdose, die auch die Energiedaten erfasst.

    Nun hatte ich mir überlegt das zu nutzen und mir per Telegram eine Nachricht (Waschmaschine fertig) zu schicken. Das Senden nach Telegram klappt wunderbar, ich habe mir mittels Bashscript sogar einen Nachrichtenspeicher gebaut und kann somit Nachrichten in der Nacht abfangen und erst morgens ausliefern.

    Nur mit der Erkennung bei der Waschmaschine happerts.

    Dummerweise verbraucht sie genau 4 Watt, wenn sie fertig ist. 4 Watt verbraucht sie aber auch manchmal während des Laufens, sprich innerhalb des Programms (4 Watt maximal über 2,5 Minuten). Also habe ich mir überlegt eine mehrstufige Prüfung der Energie einzubauen (viermalige Prüfung alle 60 Sekunden, Zeitbereich 3 Minuten insgesamt). Nur wenn in allen vier Prüfungen 4 Watt ermittelt wird, geht das Script von aus, dass die Waschmaschine fertig ist.

    Das klappt aber auch nicht. :huh:

    Die Waschmaschine hat eine "Knitterschutzfunktion". Das heißt, die dreht ab und zu die Trommel, nachdem sie fertig ist. Zu allem Überfluss ist das Drehen nicht immer in gleichen Zeitabständen, sondern die erhöhen sich Stück für Stück. Das Drehen treibt den kurz Wert hoch (~30 Watt). Wenn einer der vier Prüfungen darauf fällt, geht das Script von einem Betrieb aus und das Spiel geht von vorne los.

    Alternativgedanke:

    Ich habe mal alle anderen Daten mitgeloggt, Scheinleistung, Blindleistung, usw., aber dort leider kein Muster erkennen können wonach ich noch prüfen könnte. Das war also eine Sackgasse.

    Irgendwelche Ideen wie ich an die Sache noch herangehen könnte?


    ########################

    Kleiner Nachtrag:

    Hier ein Diagramm, leider nur in 30s-Abständen. Die nächste Wäsche werde ich im 10s-Abstand protokollieren.

    Meine Hardware@home: Fritzbox 7590AX, 15xTasmota-Geräte, Syno NAS, Raspberry Pi 4 f. PiHole, ioBroker, Docker, TasmoAdmin, Portainer

    2 Mal editiert, zuletzt von Marc (7. November 2020 um 16:08)

  • Sollte mit rule lösbar sein siehe Rules

    etwa so zum ausschalten:

    rule1 on Energy#Power<5 do Rule2 1 endon on Energy#Power>16 do Rule2 0 endon

    rule2 on Energy#Power<5 do ruletimer1 120 endon on rules#timer=1 do Power 0 endon

    grüsse aus Heidelberg

    ca. 100 Tasmota Geräte teilweise mit SML Script.

    Alexa, Sonos, Pilot APP zur Steuerung, Domoticz und TasmoAdmin auf Raspberry mit Docker

  • Soweit ich das beurteilen kann, schaltet dies die Steckdose aus. Rule1 prüft, ob die Wattzahl kleiner als 5 ist, startet dann Rule2, die wiederum 120s wartet, prüft dann ob wieder der Wert kleiner als 5 ist, und schaltet dann die Steckdose ab.

    Das möchte ich aber gar nicht.

    Außerdem würde er dann die Waschmaschine mitten im Betrieb ausschalten, da im Betrieb auch Zeiten auftauchen, wo 2,5 Minuten nur 4 Watt anliegen.

    Ich suche die sichere Erkennung vom Ende.

    Vorhaben: Ein Bashscript zieht sich immer wieder die Wattzahl und wenn es das Ende erkannt hat, schickt es eine Nachricht per Telegram.

    Problem: An der sicheren (und schnellen) Erkennung vom "Ende" happerts.

    Meine Hardware@home: Fritzbox 7590AX, 15xTasmota-Geräte, Syno NAS, Raspberry Pi 4 f. PiHole, ioBroker, Docker, TasmoAdmin, Portainer

  • Es wäre ja wohl nicht schlimm wenn 2,5 Minuten nach Waschende die Meldung die fertig Meldung kommt oder ?

    Den Wert von 120 sek darfst du ja ändern, aber dann halt nicht.

    grüsse aus Heidelberg

    ca. 100 Tasmota Geräte teilweise mit SML Script.

    Alexa, Sonos, Pilot APP zur Steuerung, Domoticz und TasmoAdmin auf Raspberry mit Docker

  • aber dann halt nicht.

    Ja, Herr Trump, alle sind schuld, nur sie nicht.

    Es wäre ja wohl nicht schlimm wenn 2,5 Minuten nach Waschende die Meldung die fertig Meldung kommt oder ?

    Sie haben es nicht verstanden. Das Anfangsposting einfach mal (komplett!) lesen, die Grafik sich anschauen und diese verstehen.

    Das wäre allesamt besser als hier Stunk zu machen, anderen Leuten die Zeit zu stehlen und den Thread kaputt zumachen.

    Stichwort(e): Knitterfunktion (30min) NACH dem Ende des Waschmaschinenprogramms

    Meine Hardware@home: Fritzbox 7590AX, 15xTasmota-Geräte, Syno NAS, Raspberry Pi 4 f. PiHole, ioBroker, Docker, TasmoAdmin, Portainer

  • benzino77 Tasmocompiler

    Gitpod Master Release

    Gitpod Development Release

    Sonoff-Basic / Sonoff-RF / Sonoff-Touch / Sonoff S20 / PowStro Basic / MagicHome / Sonoff-RF-Bridge mit diversen 433MHz RF Sender/Empfänger / Shelly_1 / ESP-WiFi-Dimmer / Gosund SP111 / ESP12E / WEMOS D1 Mini / ESP32Cam

    Sensoren: BME280/BMP280/HC-SR501/HC-SR04/ACS712/INA219/MHZ19B/DS3231

    Alexa Sprachsteuerung

    mosquitto/bash/html/cgi auf Wyse5070

  • Hallo,

    zeigt die Maschine an ob sie fertig ist oder nicht?

    Hast du mal geprüft/überlegt ob du nicht diese Info "abgreifen" kannst. Falls die Maschine eine Fertig-LED hätte, könntest du doch diese über einen aufgeklebten Sensor abfragen.

    Ich weiß, ist Bastelarbeit, aber wäre eben auf das tatsächliche "FERTIG" ausgelegt.

    Grüße

  • wenn der Leistungswert über eine gewisse Zeit (10 min) unter einen Grenzwert fällt

    Das Problem ist da ja das Verbrauchen von Strom durch die Knitterfunktion. Die läuft 30min nach Beendigung des Waschprogramms. Dazu noch die 10min, sprich erst mindestens 40min später kommt die Meldung. Mein Problem ist nicht die Abfrage der Wattzahl, sondern das die Knitterfunktion nach Beendigung vom Waschprogramm anfänglich jede Minute die Trommel dreht, nach 10min alle 2,5 Minuten, das alles 30min lang.

    zeigt die Maschine an ob sie fertig ist?

    Nein, leider nicht. Bei Bedarf nur einen Summer (nerviger Ton). Ich könnte zwar diesen Summer softwareseitig einschalten, die Maschine öffnen, den Summer abklemmen und dort den Strom abgreifen und prüfen. Aber ich halte diese Vorgehensweise, speziell auch bei einer Maschine mit Garantie, für einen Overkill.

    ***********************************************

    Ich bin gedanklich mit der Erkennung schon etwas weiter, hatte nur noch keine Zeit das auszuprobieren.

    Meine Idee: Bei Erkennung von 4 Watt prüft das Script alle 30s 8x hintereinander den Stromverbrauch, wo ich abwechselnd die Werte sortiere (Wert1,3,5,7 und Wert 2,4,6,8). Das mache ich um zwei Reihen von Werten zu bekommen, die jeweils 1 Minute Abstand haben und die beiden Reihen jeweils 30s zueinander Abstand haben. Da die Knitterschutzfunktion anfänglich jede Minute 1x läuft, müsste ich in dieser Phase eine Reihe von Werten haben, die durchgehend 4 Watt hat. Wenn das so ist, ist die Maschine fertig und die Meldung ans Handy kann rausgehen.

    Meine Hardware@home: Fritzbox 7590AX, 15xTasmota-Geräte, Syno NAS, Raspberry Pi 4 f. PiHole, ioBroker, Docker, TasmoAdmin, Portainer

    Einmal editiert, zuletzt von Marc (9. November 2020 um 12:20)

  • Die läuft 30min nach Beendigung des Waschprogramms. Dazu noch die 10min, sprich erst mindestens 40min später kommt die Meldung

    Naja dann setz doch einfach den Ruletimer aus dem Beispiel auf eine Zeit die höher als die maximale Pause zwischen den Knitterschutzläufen ist.... Dann wird immer nachgetriggert und erst wenn die Zeit ohne erneuten Anlauf um ist wird gemeldet.

    benzino77 Tasmocompiler

    Gitpod Master Release

    Gitpod Development Release

    Sonoff-Basic / Sonoff-RF / Sonoff-Touch / Sonoff S20 / PowStro Basic / MagicHome / Sonoff-RF-Bridge mit diversen 433MHz RF Sender/Empfänger / Shelly_1 / ESP-WiFi-Dimmer / Gosund SP111 / ESP12E / WEMOS D1 Mini / ESP32Cam

    Sensoren: BME280/BMP280/HC-SR501/HC-SR04/ACS712/INA219/MHZ19B/DS3231

    Alexa Sprachsteuerung

    mosquitto/bash/html/cgi auf Wyse5070

  • Naja dann setz doch einfach den Ruletimer aus dem Beispiel auf eine Zeit die höher als die maximale Pause zwischen den Knitterschutzläufen ist.... Dann wird immer nachgetriggert und erst wenn die Zeit ohne erneuten Anlauf um ist wird gemeldet.

    Äh, entweder hab ich jetzt etwas falsch verstanden, oder....

    Du willst doch wissen wann die Maschine OHNE Knitterschutz fertig ist, oder?

    Maschine fertig, Meldung versenden damit man die Wäsche sofort rausholen kann und wenn man das eben nicht macht dann läuft der Knitterschutz.

    Grüße

  • Du willst doch wissen wann die Maschine OHNE Knitterschutz fertig ist, oder?

    Ich denke er möchte wenn der komplette Vorgang mitsamt Knitterschutzphase abgeschlossen ist eine Meldung haben.

    Ihn irritieren nur die dynamischen Pausenzeiten zwischen den Knitterschutzläufen.

    Wie gesagt ... dazu einfach den Ruletimer größer als die größte Pausenzeit machen und dann passt das.

    EDIT:

    Du willst doch wissen wann die Maschine OHNE Knitterschutz fertig ist, oder?

    Du hast recht, ich hab das auch falsch gelesen.

    Ich fürchte fast das läßt sich nicht zuverläßig lösen. Man könnte ja auch die Minimalzeit in die Rule nehmen. Sobald der Power Wert eine gewisse kurze Zeit unter ein Limit fällt wird der MQTT Befehl ausgelöst. Nur ich befürchte das die Waschmaschine sicherlich während des Waschvorganges auch Ruheizeiten hat in den die Wäsche nur einweicht und der Energiewert auf das gleiche Niveau fällt wie bei Waschmaschine fertig.

    Wenn man das ausschließen kann .... dann einfach eine Zeitwert in der Rule wählen der kleiner ist als die erste PAusenzeit.

    benzino77 Tasmocompiler

    Gitpod Master Release

    Gitpod Development Release

    Sonoff-Basic / Sonoff-RF / Sonoff-Touch / Sonoff S20 / PowStro Basic / MagicHome / Sonoff-RF-Bridge mit diversen 433MHz RF Sender/Empfänger / Shelly_1 / ESP-WiFi-Dimmer / Gosund SP111 / ESP12E / WEMOS D1 Mini / ESP32Cam

    Sensoren: BME280/BMP280/HC-SR501/HC-SR04/ACS712/INA219/MHZ19B/DS3231

    Alexa Sprachsteuerung

    mosquitto/bash/html/cgi auf Wyse5070

    Einmal editiert, zuletzt von HoerMirAuf (9. November 2020 um 16:28)

  • Also die Waschmaschine meiner Frau ;) schleudert recht lange, das sollte sich bestimmt irgendwie auswerten lassen, vorrausgesetzt du schleuderst auch jedes mal... ich habe mal gehört, das es Wäschesorten gibt, die man nicht schleudern soll...

    Wie oft kannst du die den Verbrauch messen? wenn das im 10 Sekuden Intervall oder noch öfter geht, kannst du dann nicht einfach den Durchschnitt der letzten 3 Minuten nehmen? Dann hättest du ja so ca. 18 Messwerte: also solltest du ja etwa 15 mal 4 Watt angezeigt bekommen und maximal 3 mal 30 Watt.

    Sind bei mir im Durchschnitt 8,3 Watt (pro Minute)

    Ich hab keine Ahnung ob und wie man das mit den Tasmota-Rules hinkriegt, aber mit externen Programmen sollte das machbar sein oder?


    Mal noch nen ganz anderer Ansatz:

    Die Waschmaschine meiner Frau zeigt auf dem Display genau an, wie lange sie braucht... also die Waschmaschine, nicht meine Frau... :)

    Das sind ja für verschiedene Programme verschiedene Standardwerte... aber es ist zumindest eine endliche Liste....

    Wenn deine Auswertung jetzt so aussieht:

    Wenn, nach 145 Minuten der Verbrauch auf 4 Watt fällt, dann...

    oder nach 210 Minuten oder oder oder

    --- Signaturen werden völlig überbewertet --- X/

  • Die Waschmaschine meiner Frau zeigt auf dem Display genau an, wie lange sie braucht... also die Waschmaschine, nicht meine Frau... :)

    ^^

    benzino77 Tasmocompiler

    Gitpod Master Release

    Gitpod Development Release

    Sonoff-Basic / Sonoff-RF / Sonoff-Touch / Sonoff S20 / PowStro Basic / MagicHome / Sonoff-RF-Bridge mit diversen 433MHz RF Sender/Empfänger / Shelly_1 / ESP-WiFi-Dimmer / Gosund SP111 / ESP12E / WEMOS D1 Mini / ESP32Cam

    Sensoren: BME280/BMP280/HC-SR501/HC-SR04/ACS712/INA219/MHZ19B/DS3231

    Alexa Sprachsteuerung

    mosquitto/bash/html/cgi auf Wyse5070

  • Danke für den Input. Ich werde die verschiedenen Ansätze ausprobieren und durchdenken.

    Um mehr Daten zu bekommen, habe ich jetzt erst mal ein Bash-Script geschrieben, welches beim Lauf der Maschine alle 5s den Wert für Watt loggt. In ein paar Tagen sollte die Datenmenge ausreichend sein. Ich werde dann berichten. :whistling:;)

    Du willst doch wissen wann die Maschine OHNE Knitterschutz fertig ist, oder?

    Maschine fertig, Meldung versenden damit man die Wäsche sofort rausholen kann und wenn man das eben nicht macht dann läuft der Knitterschutz.

    Genau das ist das Ziel. Ich möchte eine Meldung bekommen, wenn die Maschine (ohne die Knitterschutzzeit) fertig ist. Dann kann ich (oder die Frau) sie sofort rausholen. Wenn sie keiner rausholt, läuft wie immer der Knitterschutz 30min weiter.

    Meine Hardware@home: Fritzbox 7590AX, 15xTasmota-Geräte, Syno NAS, Raspberry Pi 4 f. PiHole, ioBroker, Docker, TasmoAdmin, Portainer

  • Hallo Marc,

    leider ist Beitrag #16 der letzte zu diesem Thema, bist Du schon weiter gekommen?

    Ich bin ebenfalls dran meine Steckdosen intelligenter zu machen:

    1. Strommessung => könnte aber Probleme bei unterschiedlicher Beladung geben

    2. Zeit => wird an meiner Maschine angezeigt, eine Möglichkeit über einen Ruletimer etwas zu organisieren

    3. Ergebniszählung & Verweildauer vom Waschprogramm


    Wenn Du eine Lösung gefunden hast, würde die mich schon interessieren!

    Vielen Dank und Grüße!

  • Hallo,

    ich bin nur selten hier im Forum, daher wohl reines Glück, dass ich so "zeitnah" antworte. ;)

    Ich habe es ganz gut hinbekommen. Mir geht es aber nur um die Benachrichtigung (Messenger), wenn die Maschine fertig ist.

    Mein Script fragt alle 5 Minuten den Wattwert der Steckdose ab. Wenn erkannt wird, dass die Maschine läuft, speichert das Script den Status=1 für die Maschine ab. Bei der nächsten Prüfung geht das Script von einer laufenden Maschine aus.

    Kurz eingeschoben: Wenn die Maschine fertig ist, liegt der Wert bei 4W. In den 30min nach dem Ende macht sie einen Knitterschutz, sprich alle 30s bzw. 60s eine kurze Drehung. Innerhalb der Waschzeit wiederum gibt es auch Bereiche, wo sie nur 4W braucht. Das Problem ist also diese drei Zustände (Laufen mit 4W, Knitterschutz 4W + immer wieder eine Drehung, Ende mit 4W) zu unterscheiden und den Bereich "Knitterschutz 4W + Drehung) zuverlässig zu erkennen.

    Bei meiner Maschine habe ich am Ende folgende Vorgehensweise als zielsicher erwiesen:
    Wenn 4W erkannt werden, holt das Script für 4min alle 20s den Wattwert und speichert in Dreierreihen ab (1-2-3-1-2-3- usw.). Wenn ein Gesamtwert einer dieser Reihen gleich oder geringer als 16W ist, wird die Maschine als "fertig" gewertet.

    Das klappt so bei meiner Maschine problemlos.

    Ich hoffe für dich, dass du einfachere Werte hast und die Erkennung viel leichter ist. Bei meiner Spülmaschine z.B. geht das sehr einfach, da sie dann nur 1W hat und das über einen Zeitraum von mindestens 2 Minuten. Da ist dann das Ende.

    Viele Grüße
    Marc

    Meine Hardware@home: Fritzbox 7590AX, 15xTasmota-Geräte, Syno NAS, Raspberry Pi 4 f. PiHole, ioBroker, Docker, TasmoAdmin, Portainer

  • Hallo Marc,

    Danke und schön das Du geantwortet hast! Auch ich habe aus mehr oder weniger Zufall geschaut, ob ich antwort bekommen habe.

    Habe gleich von anfang an Dein Vorhaben verstanden. Wenn meine Maschine fertig ist zieht sie noch 12W, ein Idikator das Sie fertig ist, ein Knitterschutz gibt es bei meiner Maschine glaube ich nicht. Das muss ich aber ersteinmal checken.

    Kurz gefragt, ist es möglich Deinen Ansatz von Script zu bekommen, um darauf aufzubauen bzw. zu nutzen?

    Das wäre echt super!

    Dank und Grüße MAT

  • Hallo Mat,

    mein Script ist inzwischen gewachsen (und verbastelt), sowie mit anderen Abfragen kombiniert.

    Daher hier nur Codeschnipsel:

    curl --silent 'http://192.168.0.123/cm?cmnd=status%208' | jq -r ".StatusSNS.ENERGY.Power"
    bzw. mit Passwort (falls Weboberfläche abgesichert):
    curl --silent 'http://192.168.0.123/cm?user=admin&password=DEINPASSWORT&cmnd=status%208' | jq -r ".StatusSNS.ENERGY.Power"

    jq muss installiert sein. Die IP (192.168.0.123) (und das Passwort) musst du anpassen.

    Die Ausgabe ist dann die Wattangabe der Steckdose (nur der reine Wert).

    Wenn deine Waschmaschine am Ende zuverlässig 12 Watt verbraucht und während des Waschvorgangs das auch nicht bzw. nur kurz vorkommt, wäre das perfekt. So fragst du die Wattzahl ab, falls 12, würde ich das 3x alle x Sekunden wiederholen, falls alle 12 sind, Benachrichtigung senden.

    Falls du Probleme hast (Benachrichtigung zu früh), würde ich empfehlen einen kompletten Waschdurchlauf alle x Sekunden zu loggen und dann das Ergebnis analysieren.

    Meine Hardware@home: Fritzbox 7590AX, 15xTasmota-Geräte, Syno NAS, Raspberry Pi 4 f. PiHole, ioBroker, Docker, TasmoAdmin, Portainer