die waschmaschine ist fertig!

felix schwenzel, , in artikel    

früher sass ich manchmal stundenlang vor der waschmaschine und beobachtete den waschvorgang durch das bullauge. jetzt sitze ich manchmal stundenlang vor dem monitor und beobachte den waschvorgang durch die daten eines strommessgeräts.

gemessener waschgang

(das ist die fortsetzung von „stromverbrauch messen“)

auf dem bild sieht man die gesammelten daten der 14 euro teuren revolt SF-436 (NC-5461) strommessfunksteckdose während einer 60°-wäsche. der waschvorgang dauerte 70 minuten, begann mit ein bisschen gerödel, wahrscheinlich der pumpe, und einer 13-minütigen aufheizphase die stolze verbrauchswerte um die zwei kW zeigt. darauf folgen drei oder vier waschvorgänge, abpumpen und schleudern. nach 70 minuten ist die wäsche fertig. was man auch (schlecht) sieht: eine wäsche verbraucht in etwa 0,48 kWh, was in etwa 12 cent entspricht (siehe auch).

dieses verbrauchsprofil eignet sich prima um daraus eine anzeige von waschaktivität und eine benachrichtigung nach dem waschvorgang per home-assistant (oder anderen heimautomatisierungssystemen) zu generieren. denn auch wenn die waschmaschine im standbymodus geringe strommengen zieht, zeigt das messgerät null watt an. der waschvorgang-sensor kann also mit dem ersten anstieg des verbrauchswerts ausgelöst werden. während des waschvorgangs fällt der verbrauch gelegentlich wieder zurück auf null watt, allerdings nie länger als zwei minuten. also löst der sensor für „waschmaschine ist fertig!“ aus, wenn der verbrauch mindestens vier minuten auf null ist. das scheint ziemlich zuverlässig zu funktionieren, vor allem implizit, also ohne dass man mehr als die start-taste der waschmaschine drücken müsste. wenn die wäsche fertig ist, werden wir benachrichtigt.

ich hatte mir das eigentlich komplizierter vorgestellt, als ich vor monaten im internet las, dass eine stromverbrauchsmessung an der waschmaschine eher ungenaue werte für eine benachrichtigungsfunktion liefert. deshalb hatte ich überlegt einen reed-sensor in die tür einzubauen oder den zustand der waschmaschineneigenen „fertig“-LED auszulesen oder abzugreifen. selbst einen rüttelsensor hatte ich in betracht gezogen.

umgesetzt ist das alles mit drei komponenten. der strommessfunksteckdose, dem rfxtrx-funkempfänger und decoder und dem home-assistant, der für die einbindung der dose als sensor die pyRFXtrx-bibliothek benutzt. nachdem ich durch ein firmwareupdate dem rfxtrx das entsprechende protokoll beigebracht hatte, fehlte das entsprechende protokoll aber leider in der pyRFXtrx-bibliothek. der pfleger der bibliothe wies mich, auf meine frage ob man das nachrüsten könne, freundlich drauf hin, dass ich das selber machen könne.

tatsächlich war das dann weniger kompliziert als zuerst gedacht. die pakete die der rfxtrx in einen bytestring decodiert waren bereits in dieser bibliothek entschlüsselt und ich musste das nur noch für die python-bibliothek umformulieren. also habe ich einen pull-request gestellt und den code per github erweitert.

bei der gelegenheit muss ich auch mal, ganz allgemein, open source software und open-source-werkzeuge loben. versionsverwaltungssysteme, in diesem fall git, bzw. github sind immer noch kompliziert komplex und gewöhnungsbedürftig, aber mit der weboberfläsche von github auch ganz schön toll. wenn man erstmal hinter die kryptischen begriffe und konzepte wie commit, pull request oder das konzept von automatisierten tests gestiegen ist, macht das hinzufügen von teilen zu einem komplexen softwareprojekt genausoviel spass wie das lösen eines kreuzworträtsels. der gewinn, wenn man das rätsels gelöst hat, ist zusätzliche funktionalität für einen selbst und andere. jedenfalls habe ich nun auch einen winzigen teil zur weiterentwicklung des home assistant beigetragen.

jeder der den home-assistant und einen rfxtrx betreibt, kann jetzt für 14 euro einen strommesssensor zu seinem system hinzufügen. die benachrichtigungsfunktion im home assistant habe ich so gebaut, wie @rpitera das vorgeschlagen hat.


# input boolean
input_boolean:
  waschmaschine_status:
    name: Status Waschmaschine
    initial: off
# sensor
sensor:
  platform: template
    washer_pwrdn:
    value_template: "{{ states('sensor.revolt_1_watt') | int < 3.4 }}" # automation start automation:   - alias: 'Waschmaschine Start'     trigger:       platform: state       entity_id: sensor.washer_pwrdn       from: 'True'       to: 'False'     action:       service: input_boolean.turn_on       entity_id: input_boolean.waschmaschine_status # automation fertig   - alias: 'Waschmaschine fertig'     trigger:       platform: state       entity_id: sensor.washer_pwrdn         from: 'False'         to: 'True'         for:           minutes: 4     condition:       condition: state       entity_id: input_boolean.waschmaschine_status       state: 'on'     action:       - service: notify.notify           data:           message: 'Waschmaschine ist fertig!'       - service: shell_command.play_bike_horn       - service: input_boolean.turn_off           entity_id: input_boolean.waschmaschine_status

jetzt will ich natürlich mehr von diesen funkstrommessdingern haben, eines um zu messen was unser serverpark verbraucht, in dem der home-assistant, plex, diverse festplatten auf einem mac-mini, der dsl-router, die fritz-telefonanlage, sensoren, hubs und brücken (hue, tado) laufen. für die spülmaschine wäre das eventuell auch nett, aber da hätte ich gerne zusätzlich zur benachrichtigung eine (oder mehrere) rote LED, die die den betrieb visuell anzeigt.

* * *

am ende nochmal werbung. den revolt funkstrommesser kann man bei pearl kaufen oder bei [-werbelink] amazon. bei amazon schwanken die preise heftig, ich habe ihn dort versandkostenfrei (per prime) für 14 euro (so viel wie bei pearl) gekauft, derzeit kostet er bei anmazon knapp 17 euro. geliefert wird er in beiden fällen direkt von pearl. wenn man direkt bei pearl bestellt, muss man allerdings eventuell noch versandkosten bezahlen.