Pushsafer für Waschmaschine – sag mir bescheid wenn Du fertig bist

Wie bereits in meinem Beitrag zum gleichen Thema in Verbindung mit FHEM geschildet, ist die automatische Benachrichtigung wenn die Waschmaschine (oder auch der Trockner) fertig ist ein elementares Feature in unserer Heimautomatisierung. Der Grund hierfür ist die erhöhte Akzeptanz für meine “Spielereien” bei meiner Frau. Durch die Umstellung auf OpenHAB musste also auf hierfür eine neue Lösung herbei. Durch den Einsatz von Pushsafer für Waschmaschine Statusupdates konnte eine kostengünstige Lösung umgesetzt werden, bei welcher die Waschmaschine (und auch der Wäschetrockner) uns Benachrichtigungen senden, wenn diese Ihre Arbeit verrichtet haben. Wie ich das ganze mit OpenHAB umgesetzt habe, dokumentiere ich im folgenden Artikel.

Das Grundsetup

Unsere Waschmaschine und auch unser Wäschetrockner stehen im Keller im Waschkeller. Wir befinden uns irgendwo im Haus (oder Garten) und hören selbige nicht. Wir bekommen also in der Regel nicht selbst mit, ob die Geräte fertig sind. Schön wäre es doch, wenn uns das Gerät selbst bescheid sagt, wenn es fertig ist, oder?

Hierfür analysiere ich den Stromverbrauch der jeweiligen Geräte. Ist das Gerät aktiv so ist der Stromverbrauch höher als im Ruhemodus. Also messen wir “einfach” den Stromverbrauch und prüfen, ob dieser höher ist als der Ruhemodus. Befindet sich das Gerät längere Zeit im Ruhemodus so senden wir eine Benachrichtigung und schalten das Gerät aus.

Hierfür wurden beide Geräte über eine eigene smarte Steckdose mit Leistungsmessung* am Stromnetz angeschlossen. Hier habe ich mich für die Steckdosen von Homematic* entschieden. Dazu betreibe ich die Homematic CCU3 Zentrale* welche über das entsprechende Binding an meine auf dem Raspberry* betriebene OpenHAB Installation angebunden ist.

Pushsafer für Waschmaschine Statusupdate versenden – Scripte

Im ersten Schritt benötigen wir in OpenHAB unsere Steckdose als “Thing”. Diese habe ich mir in mein Modell des Hauswirtschaftsraumes gezogen und mit 3 Items angelegt:

  • Current -> aktueller Stromverbrauch
  • Energy Counter -> gesamter Stromverbrauch
  • State -> Status (ein / aus)

Für die beschriebene Umsetzung wird der aktuelle Stromverbrauch sowie der Status benötigt. Hier aber zunächst mal das umgesetzte Script:

OpenHAB - Device für Stromverbrauch der Waschmaschine
rule "HWR Waschmaschine - Energychange"
  when
    Item Strom__HWR__Waschmaschine_Current.state changed
  then
    val Number grenze = 50

    if((Strom__HWR__Waschmaschine_Current.state.state as DecimalType).intValue < grenze) {
      if (timerHwrWaschmaschine === null) {
        timerHwrWaschmaschine = createTimer(now.plusMinutes(2), [
          if((Strom__HWR__Waschmaschine_Current.state.state as DecimalType).intValue < grenze && Strom__HWR__Waschmaschine_State.state.toString == "ON") {
            logInfo("rules.automatic.hwr.wash", "Stromverbrauch länger als 2 Minuten unter Grenzwert - ausschalten")
            Strom__HWR__Waschmaschine_State.sendCommand(OFF)

            val actions = getActions("pushsafer", "pushsafer:pushsafer-account:gemeinsam")
            actions.sendPushsaferMessage("Homecontrol - HWR", "Waschmaschine ist aus")

            timerHwrWaschmaschine = null
          }
        ])
      }
    } else {
      timerHwrWaschmaschine?.cancel
      timerHwrWaschmaschine = null
    }
end

Das Rule ‘HWR Waschmaschine – Energychange’ reagiert auf jede Änderung des Stromverbrauches des Items ‘Strom__HWR__Waschmaschine_Current’ welches auf den aktuellen Stromverbrauch der Waschmaschine gemappt wurde. Bei jeder Änderung eines Wertes wird die Regel getriggert und führt den Code aus.

Im ersten Schritt lege ich eine Variable “grenze” an welche den Schwellert definiert, ab wann das Gerät sich für mich im Ruhemodus befindet. Dieser Wert ist für jedes Gerät individuell und variiert. Bei meiner Waschmaschine liegt der Verbrauch im Ruhemodus unter 50 Watt. Diese Definition ist nicht zwingend notwendig, macht den Code aber einfach lesbarer.

Im nächsten Schritt prüfe ich, ob der aktuelle Stromverbrauch sich unterhalb der definierten Grenze liegt. Ist die der Fall so wird ein Timer gestartet welcher 2 Minuten lang läuft. Sind die 2 Minuten erreicht wird erneut geprüft ob der aktuelle Stromverbrauch weiterhin unterhalb der Grenze liegt und ob die Steckdose noch eingeschaltet ist. Ist dies der Fall senden wir die Pushsafer Notification über das entsprechend angelegte Binding und setzen den Timer wieder auf null.

Ist der aktuelle Stromverbrauch höher als die Grenze beenden wir eventuell laufende Timer und setzen selbige auf null.

Warum der Timer?

Die wenigsten Elektrogeräte haben über die Zeit hin immer den gleichen Stromverbrauch. In den ersten Versuchen habe ich die Waschmaschine regelmäßig während dem Betrieb ausgeschaltet da ich auf einen Timer verzichten wollte. Dummerweise ist es aber so, dass die Waschmaschine auch im normalen Betrieb irgendwann mal ansatzweise gar keinen Strom zieht. Kurz danach fährt der Stromverbrauch wieder hoch und die Maschine beginnt z.B. zu schleudern nachdem das Wasser abgepumpt wurde. Um diese Zeiten zu überbrücken wurde der Time umgesetzt. Wir warten also 2 Minuten lang bevor wir die Maschine abschalten. Springt der Stromverbrauch während dieser 2 Minuten wieder über die definierte Grenze so brechen wir den Timer ab. Nur wenn wir 2 Minuten den Stromverbrauch unterhalb der definierten Grenze haben ist die Arbeit für uns beendet und wir schalten die Maschine ab und senden die Benachrichtigung.

Pushsafer Notification für die Waschmaschine läuft verlässlich

Bei uns zuhause ist die hier beschriebene Lösung nun seit einiger Zeit im Einsatz. Sie läuft sehr verlässlich und informiert uns immer sobald die Arbeit beendet ist. Somit wissen wir wann wir die nächste Ladung Wäsche anstellen oder den Trockner befüllen können. Mit Sicherheit ist das hier keine Raketentechnik – sie erleichtert uns jedoch das Leben ein wenig 🙂

Wie sind eure Erfahrungen? Habt Ihr selbst auch eine solche Lösung umgesetzt, eine andere Lösung oder ist es euch total egal und Ihr wollt von euren Maschine nicht angeschrien werden?

Artikel teilen

This article was written by Thomas Schiffler

Alles was mit IT zu tun hat steht bei mir hoch im Kurs. Hierbei dreht sich vieles um Java, Python oder auch mal PHP. Unser Zuhause ist mit diversen Raspberry PIs ausgestattet mit welchen ich versuche unser Leben durch etwas Automatisierung ein wenig smarter zu gestalten. Hierbei möchte ich die Technik und die dahinter eingesetzten Tools / Frameworks verstehen und nicht einfach nur Anwenden. Ich selbst bezeichne mich als ITler aus Leidenschaft :) Seit 2020 ist das Thema Chatbot / Voicebot / Conversational.ai in meinen Focus gerückt. In diesem Bereich investiere ich gerade viel Zeit.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert