Robins Blog – Technik und Multimedia

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:

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:

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.

 

Die mobile Version verlassen