Emails sind immer noch eine einfache und praktische Möglichkeit, um verschiedene Geräte miteinander kommunizieren zu lassen oder Anweisungen an ein Gerät zu senden: So lässt sich zum Beispiel von unterwegs eine Nachricht per Mail an sein FHEM Smart Home System senden, das schon einmal die Lichter einschaltet – oder ausschaltet, wenn man sich nicht mehr sicher ist.
Emails mit FHEM auswerten
Zunächst muss man seine Emails mit FHEM abfragen – das macht das Modul Mailcheck, dass die Emails auf einem IMAP-Server abfragen kann. Die Mails bleiben dabei auf dem Server und werden dort nicht automatisch gelöscht, falls man sie auch woanders noch abfragen möchte.
Um Emails mit FHEM empfangen zu können, braucht man ein Mail-Programm: Wie man das auf einem Raspberry Pi installiert und dann mit FHEM nutzt, zeigen wir hier!
Das mailcheck Modul braucht den Servernamen, in unserem Beispiel “imap.1und1.de”, die Emailadresse und das Passwort (das hoffentlich sicherer ist als unser Beispiel-Passwort):
define Email mailcheck imap.1und1.de [email protected] passwort
Anschließend reagiert man mit einem Notify auf neue Emails und liest sowohl den Betreff als auch den Absender aus: Diese werden in die Variablen $subject und $from gespeichert. So lässt sich schnell prüfen, ob der Betreff und der Absender passen und daraufhin eine Aktion ausführen:
define mailfilter notify Email:Subject.* {\
my $subject = ReadingsVal("Email", "Subject", "");;\
my $from = ReadingsVal("Email", "From", "");;\
if($subject eq "Licht an" && $from eq "test\@email.de") {\
fhem("set Licht on;;");;\
} elsif($subject eq "Licht aus" && $from eq "test\@email") {\
fhem("set Licht off");;\
}\
}
Tipp: Wie man Daten in FHEM eingibt, zeigen wir hier!
In dem oben gezeigten Beispiel prüfen wir, ob der Absender der Email “[email protected]” ist (der Backslash vor dem @ ist wichtig!) und der Betreff entweder “Licht an” oder “Licht aus” lautet: Anhand des Betreffs wird dann mit “set Licht on” oder “set Licht off” die Lampe “Licht” ein oder ausgeschaltet.