In diesem Blogbeitrag möchte ich dir zeigen, wie du deine alte Waschmaschine oder auch Spülmaschine in dein SmartHome einbinden kannst. Das Ziel ist, anhand des Verlaufs der Leistungsaufnahme der Waschmaschine zu erkennen, dass der Waschgang beendet ist. Daraufhin soll eine entsprechende Benachrichtigung auf das Smartphone gesendet werden.
Vorbereitungen
Voraussetzung für dieses Projekt ist, dass du bereits ein lauffähiges SmartHome in Betrieb hast. Des Weiter benötigst du eine smarte WLAN-Steckdose, auf welcher bereits Tasmota läuft. Die Live-Daten der Steckdose sollten bereits im ioBroker bereit stehen. Beides habe ich dir bereits in den Blogbeiträgen Tasmota auf eine Gosund SP1 WLAN-Steckdose flashen und Der Sonoff Adapter – Tasmota Geräte im ioBroker einbinden gezeigt. Du nimmst nun also die angesprochene WLAN-Steckdose und installierst sie zwischen dem Stecker der Waschmaschine und der Steckdose an der Wand.
Aufzeichnung des Stromverbrauchs
Um eine Logik zu entwerfen, welche den fertigen Waschgang erkennt, benötigst du zunächst Information über die Leistungsaufnahme der Waschmaschine über einen kompletten Waschgang hinweg. Dazu musst du zunächst zwei Adapter installieren. Der erste Adapter heißt History und dient dazu, Daten über einen bestimmten Zeitraum zu speichern. Wir wollen ja die Leistung der Waschmaschine mindesten über den Zeitraum des Waschgangs messen.
Der zweite Adapter heißt Flot. Dieser ermöglicht es dir, die gesammelten Daten dann grafisch darzustellen.
Nun musst du noch festlegen, von welchem Datenpunk du die Werte mit Hilfe von History aufzeichnen möchtest. Dazu wechselst du in deine Objektliste und drückst bei dem Datenpunkt, welcher die Leistung darstellt auf den Schraubenschlüssel ganz hinten in der Zeile. Die Einstellungen für das sich öffnende Konfigurationsfeld kannst du einfach aus der folgenden Abbildung von mir übernehmen.
Ok. Soweit ist alles konfiguriert und du kannst einen Waschgang deiner Waschmaschine starten, damit die Leistungsdaten aufgezeichnet werden. Nach dem Waschgang öffnest du in der ioBroker web Oberfläche Flot aus. In der Flot Oberfläche musst du nun angeben, welchen Datenpunkt du betrachten möchtest und über welchen Zeitraum. Des Weiteren kannst du weitere Einstellungen, wie beispielsweise den Wertebereich der y-Achse etc., festlegen. Hier musst du eventuell etwas rumexperimentieren, bis du das gewünschte Ergebnis dargestellt bekommst.
Analyse
In der folgenden Darstellung siehst du den Plot für einen Waschgang meiner Waschmaschine. Ich erkläre dir nun, wie ich speziell für diesen Leistungsverlauf eine Logik entworfen habe. In wie fern das für den Leistungsverlauf deine Waschmaschine zutrifft, musst du selbst beurteilen. Aber so schwer ist das ja nicht, falls du Anpassungen machen musst.
Wie zu erkennen, steigt die Leistung zu Beginn des Waschgang stark an und fällt während des Waschgangs ein paar mal auf einen sehr kleinen Wert. Aber eben nie ganz bis auf 0 W. Erst nachdem der Waschgang beendet ist, fällt die Leistung komplett auf 0 W.
Das bedeutet, sobald der die Leistung einen gewissen Grenzwert überschritten hat, weiß ich sicher, die Waschmaschine ist an. Fällt die Leistung komplett auf 0 W, ist die Waschmaschine sicher aus.
Entwurf der Erkennungslogik in Blockly
Die zuvor getätigten Überlegungen musst du jetzt natürlich noch in eine Logik überführen und implementieren. Dazu verwendest du am besten Blockly. Blockly ist ein visueller Code-Editor, welcher verzahnte, grafische Blöcke zur Darstellung von Programmierkonzepten verwendet. Er ermöglicht dir, Programmierprinzipien anzuwenden, ohne dir Gedanken über die Syntax machen zu müssen. Gehe dazu einfach im ioBroker auf Skripte und erstelle ein neues Blockly-Skript. Den Inhalt kannst du aus der folgenden Darstellung von mir übernehmen.
Das Sktipt überprüft alle 60 Sekunden, ob sich die Leistung über dem Grenzwert 50 W befindet. Ist dies der Fall und die Waschmaschine zu diesem Zeitpunkt aus, sprich der Zustand waschmaschine_state == 0, dann wird dieser auf 1 gesetzt. Jetzt weiß ioBroker, dass die Waschmaschine läuft. Dies wird in dem Datenpunkt waschmaschine_state_text ebenfalls in Textform festgehalten. Geht die Leistung auf den Wert 1, so wird waschmaschine_state auf 1 gesetzt und waschmaschine_state_text auf “feritg”. Wird die Waschmaschine dann ausgeräumt und ausgeschalten, dann fällt die Leistung auf 0 W. Der Zustand mit den beiden Statuswerten wird wieder entsprechend dargestellt.
Die Logik ist nun implementiert, sodass du dich jetzt der Benachrichtigung widmen kannst. Wie das funktioniert, zeige ich dir im nächsten Blockbeitrag.
Ich hoffe dieser Beitrag hat dir gefallen. Falls ja, lass gerne einen Kommentar für mich da.
Verwendete Hardware:
**Raspberry Pi 3 Modell B+ Starterkit
**Gosund smarte WLAN-Steckdose
Pingback: Benachrichtigungen vom SmartHome auf das Smartphone per Telegram -