FHem: Wäsche ist fertig – Sensor

update 04.05.2020 code snippet eingefügt

Eigentlich sollte es eine kleine Wochenendaufgabe werden. Problem: Unten im Keller steht die Waschmaschine und man läuft gefühlt 200 mal die Treppen rauf und runter, um zu sehen ob die Waschmaschine / Trockner fertig ist.

Als Lösungsansätze schlage ich 2 Möglichkeiten vor.
Möglichkeit 1: Mit einem PCA 301 (s. Blogbeitrag Jeelink) die aufgenommene Energie laufend messen und per Notify in Fhem vergleichen, bis nur noch wenig Strom fliesst. Anschließend per Telegram benachrichtigen lassen.
Möglichkeit 2: Einen kleinen Lichtabhängigen Lichtsensor vor dem Display der Waschmaschine kleben, der laufend beobachtet, ob die LED „Wäsche fertig“ irgendwann an geht.Möglichkeit 1 ist vielen zu teuer, so eine Steckdose mit Transceiver kostet ungefähr 40 Euro (s. amazon PCA301). Deshalb bespreche ich heute Möglichkeit 2 mit Euch.

Kurz ins Internet geschaut und eine Lösung gefunden, siehe hier. Diese Lösung finde ich nicht so prickelnd, weil ich dort die Bauteile löten muss und – noch viel schlimmer – alle Parameter im Sketch fest programmiert sind.

Meine Lösung besteht aus einem Modul, dem Witty-Board (amazon-affili). Ich hatte über dieses Board schon vor einiger Zeit geschrieben. Es hat alles was man für dieses Projekt benötigt:

  • Einen lichtabhängigen Widerstand (LDR)
  • Eine LED mit den möglichen Farben Rot, Blau, Grün
  • Einen ESP8266 WLAN Baustein
  • Einen Taster zur freien Programmierung

Was fehlt, ist ein gescheites Gehäuse. Ich habe mir vorerst bei Thingiverse dieses genommen.

Auf der Software-Seite sieht es noch besser aus:
Als Basis wird Letscontrolit.com genommen, bzw. ESPEasy.
Diese Software, welche man nur einmal flashen muss, hat folgende Vorteile:

  • Administrations-Webinterface
  • GPIOs können frei definiert werden
  • MQTT fähig
  • Autark fähig – Möglichkeit eMail zu versenden ohne ein Hausautomations-System zu verwenden
  • Update über OTA (on the air) möglich
  • Abstände von Wäsche fertig – Telegram Messages (siehe Blogbeitrag Telegram) können per Webinterface festgelegt werden
    MQTT Broker notwendig

Alles was man also zum vollständigen Glück braucht ist die richtige Konfiguration und das notwendige Fhem Script.
Der Ablauf der Software geschieht folgendermaßen:

Auf der Maschine wird der Witty auf die „Wäsche ist fertig LED“ befestigt und laufend mit USB 5 V versorgt.
Wird der Waschvorgang gestartet, passiert nix.
Wenn der Waschvorgang beendet ist, leuchtet die „Wäsche ist fertig LED“ von der Maschine.

Da der LDR alle paar Minuten den Lichtwert per MQTT  eine Zahl an FHEM schickt, brauchen wir nur ein notify in Fhem scripten und eine Aktion starten. Das kann eine Telegram-Message sein, ein Blinken einer Lampe, eine eMail.

Auf der Witty-Seite sieht die Konfiguration so aus

Wichtig ist hier die Verbindung zum MQTT broker herzustellen

Wenn man möchte kann, man auf dem Witty Board noch die LED als Status-LED verwenden, ROT = fertig grün = nicht aktiv

on [ldr#value] do
if [ldr#value] >500
gpio,15,0
gpio,12,1
else
gpio,15,1
gpio,12,0
endif
endon

Die Datenübertragung kann man mit dem Programm mqtt-spy (Link zur Homepage) überprüfen, ist aber nicht notwendig:

In Fhem muss man jetzt nur noch ein script schreiben, welches die Daten vom Broker abgreift (also hier ldr/value) und darauf eine Aktion auslösen, hier als Beispiel Telegram. Wie oft die Meldung an das Handy geschickt werden soll, kann man einstellen.
Ebenfalls besteht auch die Möglichkeit, den Taster vom Witty-Board zu aktivieren. Hier könnte eine Telegram-Message ausgelöst werden,  wenn z.B. die Frau schneller war und die Maschine im Keller schon ausgeräumt hat. „Maschine wurde geleert“ oder sowas.


Das Script in Fhem sieht so aus.

define WittyWash MQTT_DEVICE
attr WittyWash IODev MyBroker
attr WittyWash room Büro,Keller,MQTT
attr WittyWash stateFormat {ReadingsVal($name,"presence","") eq "Connection lost" ? "Offline" : ReadingsVal($name,"state","")}
attr WittyWash subscribeReading_confirmed /wittywash/button/status
attr WittyWash subscribeReading_presence /wittywash/status/LWT
attr WittyWash subscribeReading_status /wittywash/ldr/value

Das notify sieht so aus, hier wird eine Telegram Message verschickt

WittyWash:status:.* {
if ($EVTPART1 >500) {
fhem("set user1 message Waschmaschine ist fertig");
}
}

Die 500 ist abhängig von den Lichtverhältnissen und muss angepasst werden.

Interaktion: Benutzung des Tasters vom Witty-Board zum Senden von Telegram-Messages. Ab und zu räumt der Partner schon die Wäsche aus dem Maschine. Das kann durch Tastendruck über Telegram laufen.

Auch benötigt man in Fhem nur ein kurzes Skript:

define n_WittyWashTelegramConfirmed notify WittyWash:confirmed:.* {\
if ($EVTPART1 ==1 ) {\
fhem("set user1 message Ich habe die Wäsche schon aus der Maschine geholt!");;\
}\
}

Alternative Verwendung dieses Moduls: Anstatt eines Wäsche fertig Sensor könnt ihr dieses Modul auch als Helligkeits-Sensor benutzen. Einmal draussen installiert (5 V Netzteil und WLAN reicht), meldet sich der Sensor, wenn es dunkel wird. Dann können die Nachtleuchten eingeschaltet werden. Hierzu muss man nur in Fhem aus dem größer ein kleiner Zeichen machen.

Aktion: Wer Lust bekommen hat, so was nachzubauen aber keine Ahnung von Flashen von dem Witty Board (amazon.affili) hat, kann für 12,90 Euro inkl. Versand (Deutschland) von mir eins bekommen.

 

Einkaufen:
Witty Cloud Board
Netzteil

Ansonsten, Fragen in die Kommentare. Board-Anfrage per eMail.

 

Dieser Beitrag wurde unter Fhem-Hausautomation, Sensoren abgelegt und mit , , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.

13 Antworten zu FHem: Wäsche ist fertig – Sensor

  1. HP sagt:

    Hallo Robin,
    zunächst muss ich voranschicken, dass ich FHEM Neuling und auch ESP Neuling bin.
    An Deiner Anleitung bin ich deswegen wohl auch gescheitert. Aber ich habe das zum Anreiz genommen mich durchzufuchsen.
    Derzeit hänge ich an dem Abschnitt mit dem Broker. Also der Mosquitto läuft soweit auf meinem Pi. Aber ich glaube nicht, dass dort überhaupt Daten abgefangen werden. Wenn ich mqtt-spy richtig eingestellt habe, kommt beim Broker nichts an. Diesen Bereich reist Du hier auch nur an. Vielleicht kannst Du mir einmal Deine Einstellungen für OpenHAB posten. Ich befürchte, dass da einer meiner Fehler liegt.
    Vielen Dank für die Anregung und die Erläuterungen.
    Liebe Grüße
    HP

  2. Robin sagt:

    https://github.com/nodemcu/nodemcu-flasher
    https://blog.moneybag.de/espeasy-firmware-version-r140-rc3-als-image-erschienen/ da das aktuelle release nehmen.
    ansonsten biete ich es auch an den Witty geflashed zu kaufen, steht da auch weiter unten.
    Spart meistens Ärger und Zeit.

    LG
    /robin

  3. Jan sagt:

    Magst du einen Link einfügen – kann es einfach nicht finden

  4. Robin sagt:

    Hallo Jan,

    espflasher und espeasy-image, steht alles im Blog.

    LG
    /robin

  5. Jan sagt:

    Hi,
    Hardware angekommen.
    Nach welcher Anleitung kann ich sie am besten flashen?
    Bin da noch nicht sooo fit, habe erst einen vor längerer Zeit mal geflasht mit was anderem.
    Danke

  6. Robin sagt:

    Hallo Stefan,

    ich habe über den LDR so ein Gumminöppel gesteckt, war ok bei mir. Und: Man kann den Trigger ja auch einstellen.

    LG
    /robin

  7. Stefan sagt:

    Ich hatte damit auch schon versucht die „Ende LED“ der Waschmaschine/Trockner zu erfassen. Das Umgebungslicht bzw. die Sonne hat mir durch seitlich einfallendes Licht immer Probleme bereitet was es nicht zuverlässig funktioniert hat. Es gibt von B+G E-Tech relativ günstige Stromzähler die man mit ihrem S0 Ausgang an einen ESP8266 mit ESPEasy anschließen kann und dann über den Stromverbrauch das Ende ermittelt. Funktioniert bei meiner Spülmaschine sehr zuverlässig

  8. Robin sagt:

    hallo jan,
    ja geht, schreibe mir Deine Erfahrungen.

    LG
    /robin

  9. Robin sagt:

    das preiswerteste, 5V bei 1 A reicht. Sowas: https://amzn.to/2GCrERV
    LG
    /robin

  10. Jan sagt:

    Nachtrag: So langsam brauche ich ne Ladung Netzteile und USB Kabel – was kannst du da empfehlen?

  11. Jan sagt:

    Danke für den Beitrag. Bei uns blinkt die LED,wenn die Wäsche fertig ist. Kann man das auch irgendwie „abfangen“ als Auslöser nehmen?

  12. Robin sagt:

    Hallo Gordon,

    oder auch nicht! Hier einige Gründe.
    – zu teuer
    – alte Technik (FS 20)
    – du benötigst einen Transceiver (CUL) -> erhöhte Kosten
    – falls du bei meiner Schaltung 2 Kanäle überwachen möchtest, kein Problem, ein zweiter LDR kostet nur ein paar Cents. 2 GPIOs sind noch frei.

    LG
    /robin

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.