Howto: Mit FHEM Push-Nachrichten aufs iPhone schicken

Loxone im Einsatz? Dann schau dir unseren LoxKurs an und profitiere von unserem Wissen!

Mit einem kosteng├╝nstigen Raspberry Pi (Affiliate-Link), der darauf installierten Software FHEM┬á und entsprechender Aktoren/Sensoren lassen sich viele Abl├Ąufe in den eigenen vier W├Ąnden automatisieren und ├╝berwachen. Spannend wird es gerade dann, wenn verschiedene Services miteinander verkn├╝pft werden. So lassen sich vordefinierte Ereignisse, wie die unter einen Schwellwert fallende Au├čentemperatur, welche per Temperatursensor (Affiliate-Link) auf der Terrasse ├╝bermittelt wird, in sekundenschnelle als Push-Nachricht aufs iPhone schicken. Was man dazu alles ben├Âtigt und wie das im Detail funktioniert, wird in nachfolgendem Howto ausf├╝hrlich erkl├Ąrt.

Sensor in FHEM anlernen

Das hier gew├Ąhlte Beispiel setzt einen vorkonfigurierten FHEM-Server (FHEM-Server auf dem Raspberry Pi in einer Stunde einrichten) sowie einen damit gekoppelten HMLan-Adapter (Affiliate-Link) (HMLan-Adapter am FHEM-Server einrichten) voraus. Es wird au├čerdem ein Temperatursensor ben├Âtigt, dessen Informationen ausgewertet und als Trigger f├╝r die Benachrichtigungen genutzt werden k├Ânnen. Hier bietet sich der Homematic Temperatur-/Feuchtesensor EQ3 76923 (Affiliate-Link) (Bild links) an, welcher bequem an der Hauswand befestigt werden kann. Alternativ kann nat├╝rlich auch die Homematic Wetterstation HM-WDS-OC3 (Affiliate-Link) genutzt werden, welche neben Temperatur und Luftfeuchte auch noch Informationen zu Niederschlag, Windrichtung, Windgeschwindigkeit und Sonneneinstrahlung/Helligkeit ├╝bermittelt. Vorstellbar w├Ąre hier also bspw. eine Warnung bei Regenbeginn, um das frisch geputzte Auto noch rechtzeitig in die Garage verfrachten zu k├Ânnen.

Gekoppelt wird der gew├╝nschte Homematic-Sensor, wie jeder andere Homematic-Adapter auch, direkt im Weboberfl├Ąche des FHEM-Servers ├╝ber den Kommandozeilenbefehl:

set HMLAN1 hmPairForSec 60

Mit einem anschlie├čenden Druck auf die Enter-Taste ist der HMLan-Adapter ab jetzt f├╝r 60 Sekunden bereit f├╝r neue Ger├Ąteanmeldungen. Wer statt HMLAN1 einen anderen Namen vergeben hat, muss den Eintrag entsprechend anpassen.

Mit einem kurzen Tastendruck am Homematic Temperatursensor (Affiliate-Link) (Bild links, rot markiert) wird der Anlernvorgang ausgef├╝hrt und der Sensor sollte einige Sekunden sp├Ąter als neues Device in FHEM im Ordner „CUL_HM“ auftauchen. Der standardm├Ą├čig vergebene Name kann dann noch ge├Ąndert werden durch:

rename standardname TE.Temperatur

Dann noch dem Raum Terrasse zuweisen:

attr TE.Temperatur room Terrasse

Ab sofort sollte der Sensor etwa alle drei Minuten die aktuelle Temperatur und Luftfeuchte an die FHEM-Zentrale ├╝bermitteln und alle ermittelten Daten direkt auch in eine Logdatei schreiben, welche als Diagramm ausgewertet werden kann.

Push-Service (Prowl) einrichten

F├╝r die Benachrichtigung auf dem iPhone soll der Dienst Prowl genutzt werden. Ein kostenfreier Account kann unter┬áhttps://www.prowlapp.com/register.php angelegt werden. Dazu ist lediglich ein Benutzername und Passwort notwendig, die eigene E-Mail-Adresse kann weiterhin optional angegeben werden. Sollte das Passwort sp├Ąter einmal verschusselt werden, kann unter Angabe der hinterlegten Email ein neues Kennwort beantragt werden. Ich empfehle daher die eigene E-Mail-Adresse an dieser Stelle zu hinterlegen.

Ist man dann auf der Prowl-Seite eingeloggt, kann unter dem Reiter API Keys beim Punkt Generate a new API key ein neuer pers├Ânlicher Schl├╝ssel erstellt werden. Danach befindet sich der neue Schl├╝ssel unter Current API keys, welcher sp├Ąter in FHEM ben├Âtigt wird und deshalb an dieser Stelle herauskopiert werden sollte.

Damit die sp├Ąter definierten Push-Nachrichten auf dem iPhone (Affiliate-Link) auch ankommen, wird die kostenpflichtige App Prowl: Growl Client auf dem iPhone installiert.

[app 320876271]

Ist die App installiert und hat man sich mit den vorher vergebenen Nutzerdaten eingeloggt, ist die Konfiguration auf dem iPhone an dieser Stelle bereits abgeschlossen und es kann mit der Konfiguration auf dem FHEM-Server selbst losgehen.

Auf dem FHEM-Server muss das ProwlScript, das Gegenst├╝ck zur Prowl-App auf dem iPhone, installiert werden. In diesem Beispiel wird ein RPI verwendet, auf welchen per Terminal zugegriffen wird (die IP muss nat├╝rlich jeder selbst anpassen):

ssh pi@192.168.177.56

Ist man eingeloggt, wird das offizielle Prowl-Script in den entsprechenden scripts-Ordner des RPI heruntergeladen:

sudo wget -P /opt/fhem/scripts/ http://www.prowlapp.com/static/prowl.pl

Jetzt muss noch die Dateiberechtigung angepasst werden:

sudo chmod 755 /opt/fhem/scripts/prowl.pl

Danach kann das Terminal geschlossen werden.

FHEM-Station bereit machen

Es muss jetzt die Config-Datei namens 99_myUtils.pm bearbeitet werden. Sofern schon eigene Scripte in FHEM eingebunden sind, existiert diese Datei bereits und ist in der FHEM-Seitenleiste unter „Edit files“ 99_myUtils.pm (siehe Bild links) aufzufinden.

Ist der Eintrag nicht vorhanden, kann man die Datei mit einem kleinen Umweg erzeugen. Dazu w├Ąhlt man erstmal die fhem.cfg aus und speichert den Inhalt ohne ├änderung mit dem Button „Save as“ und der Angabe des Namens 99_myUtils.pm ab.

Daraufhin sollte nun unter „Edit files“ die Datei „99_myUtils.pm“ zu finden sein. Datei ├Âffnen und den dortigen Inhalt l├Âschen, welcher im vorherigen Schritt von der fhem.cfg ├╝bernommen wurde. War die Datei bereits ohne den obigen Umweg vorhanden, l├Ąsst man den Inhalt nat├╝rlich unber├╝hrt.

Folgender Inhalt muss dann in jedem Fall in der Datei┬á99_Utils.pm erg├Ąnzt werden:

### Notifications ├╝ber Prowl auf dem RPi versenden ###

sub prowl
{
my $subject = $_[0];
my $event = $_[1];
my $priority = $_[2];
my $ret = „“;
$ret .=┬á system(„wget -q -O /dev/null ‚http://api.prowlapp.com/publicapi/add?apikey=b34d02d47be440ea5ede28311446c380c6da3869&application=Wuerzburgbude&event=$event&priority=$priority&description=$subject'“);
$ret =~ s,[r
]*,,g;
Log 1, „prowl returned: $ret“;
}

Der Api-Key (oben fett markiert) muss durch den pers├Ânlichen Prowl-Schl├╝ssel ausgetauscht werden. Der Eintrag┬áWuerzburgbude (oben ebenfalls fett markiert) kann durch einen geeigneten Namen ge├Ąndert werden. Dieser wird dann bei jeder Benachrichtigung angezeigt, sollt also einen sprechenden Namen erhalten. Nach der Anpassung wird die Datei mit dem Button „Save 99_myUtils.pm“ abgespeichert.

FHEM-Config mit Push-Benachrichtigungen f├╝ttern

Was jetzt noch fehlt, sind die Benachrichtigungsmeldungen in der fhem.cfg.

Nachfolgendes Beispiel schickt sofort einen Warnhinweis an das iPhone, wenn die Termperatur unter 3 Grad f├Ąllt und erst wieder eine Entwarnung, wenn die Temperatur wieder ├╝ber 5 Grad angestiegen ist. Hierzu wird ein Dummy namens TE.TempIndicator genutzt, welcher immer nur die Benachrichtung triggert, wenn sich sein Status ├Ąndert (attr TE.TempIndicator event-on-change-reading state). Dadurch wird bewirkt, dass immer nur beim erstmaligen Unter- bzw. ├ťberschreiten der Schwellwerte eine Nachricht abgeschickt wird und nicht wenn die Temperatur noch weiter unter 3 Grad sinkt bzw. ├╝ber 5 Grad steigt.

# Dummy
define TE.TempIndicator dummy
attr TE.TempIndicator event-on-change-reading state
attr TE.TempIndicator room Terrasse

#TE.TempIndicator
define TETempIndicatorToCold notify TE.Temperatur:temperature.* {fhem(„set TE.TempIndicator cold“) if (ReadingsVal(„TE.Temperatur“,“temperature“,““) < 3)}
define TETempIndicatorToNormal notify TE.Temperatur:temperature.* {fhem(„set TE.TempIndicator normal“) if (ReadingsVal(„TE.Temperatur“,“temperature“,““) >= 5)}

#Prowl Notify
define TETempIndicatorToColdNotify notify TE.TempIndicator:cold {prowl(„Es ist k├Ąlter als 3 ┬░CnAchtung Gl├Ąttegefahr“,“Terrasse“,“1″)}
define TETempIndicatorToNormalNotify notify TE.TempIndicator:normal {prowl(„Es ist w├Ąrmer als 4 ┬░CnKeine Gl├Ąttegefahr mehr“,“Terrasse“,“1″)}

(Anmerkung: Die Zeichenfolge n bewirkt bei obigen Prowl-Notifications einen Zeilenumbruch an der entsprechenden Stelle und ist nicht zwingend notwendig.)

Jetzt noch mit „Save fhem.cfg“ alles speichern und den FHEM-Server am besten mit dem Kommandobefehl shutdown restart neustarten. Danach kann Prowl auf Funktionst├╝chtigkeit getestet werden, indem in der Kommandozeile der Befehl set TE.TempIndicator cold bzw. set TE.TempIndicator normal eingegeben und mit der Enter-Taste best├Ątigt wird. Daraufhin sollte am iPhone die entsprechende Benachrichtigung in Sekundenschnelle eintrudeln (siehe Bild).

Aus meinem t├Ąglichen Leben

Hat man die recht komplizierte Einrichtung von Prowl erstmal ├╝berstanden, kann die bestehende Konfiguration durch relativ einfache Prowl-Notifications in der fhem.cfg erweitert werden, was aus meiner Sicht einen super Mehrwert mit sich bringt. So habe ich z.B. ein Notify eingerichtet, welches mich dar├╝ber informiert, dass die Wohnungst├╝r ge├Âffnet wurde, ohne dass eine berechtigte Person (Smartphone-Erkennung per WLan bzw. Bluetooth) anwesend ist. Dieser Notify ist bis jetzt gl├╝cklicherweise nur bei Tests ausgel├Âst worden :). So lassen sich neben eher trivialen Dingen wie obiger Mitteilung bei Temperaturver├Ąnderung ohne gro├če M├╝he auch sicherheitsrelevante Notifications absetzen, um z.B. auch mitzuteilen, sobald ein Fenster bei Abwesenheit gekippt oder ge├Âffnet wurde oder der Bewegungsmelder (Affiliate-Link) in der Garage angeschlagen hat, obwohl niemand Zuhause ist. Sicherheitsservices, f├╝r die Alarmanlagenherstellern oftmals hohe monatliche Geb├╝hren veranschlagen.

Insgesamt ist Prowl und die Einbindung in FHEM schon recht m├Ąchtig, bedenkt man, dass einfach jedes Event als Trigger f├╝r eine Benachrichtigung dienen kann und die Push-Mitteilungen im Schnitt nicht l├Ąnger als eine Sekunde auf sich warten lassen, bis sie auf dem Display angezeigt werden (schnelle Internetverbindung vorausgesetzt). Zudem ist es auch m├Âglich mit Hilfe mehrerer Prowl-Accounts und hinterlegter ProwlScript-Eintr├Ąge in der 99_myUtils.pm eine Vielzahl von Notifications an unterschiedliche iPhones oder iPads verschicken zu lassen. Wer interessante Einsatzzwecke f├╝r Prowl-Notifcations mit FHEM ausgemacht hat, ist gerne eingeladen diese ├╝ber die Kommentarfunktion zu teilen. Als Anregung sind mal einige m├Âgliche Sensoren aufgelistet.

Wie man Pushmitteilungen mit Pushover anstatt mit Prowl ausf├╝hren kann, wird im Nachfolgeartikel Howto: Mit FHEM Push-Nachrichten aufs iPhone schicken (Update) beschrieben.

Affiliate-Links

[easyazon_image align=“none“ height=“82″ identifier=“B002BJV9GC“ locale=“DE“ src=“https://www.meintechblog.de/wordpress/wp-content/uploads/2015/06/31D0PVWA6PL.SL1103.jpg“ tag=“meintechblog-131106-21″ width=“110″][easyazon_image align=“none“ height=“82″ identifier=“B001PSMK9A“ locale=“DE“ src=“https://www.meintechblog.de/wordpress/wp-content/uploads/2015/06/31TrsHUjb2BL.SL1102.jpg“ tag=“meintechblog-131106-21″ width=“110″][easyazon_image align=“none“ height=“110″ identifier=“B008LUMEKK“ locale=“DE“ src=“https://www.meintechblog.de/wordpress/wp-content/uploads/2015/06/519UFknCqeL.SL1104.jpg“ tag=“meintechblog-131106-21″ width=“110″]

Loxone im Einsatz? Dann schau dir unseren LoxKurs an und profitiere von unserem Wissen!

Verpasse keine Inhalte mehr! Trage dich in den Newsletter ein und folge uns auf Facebook.

Was ist ein Affiliate-Link? Wenn du auf einen Affiliate-Link klickst und ├╝ber diesen Link einkaufst, bekomme ich vom betreffenden Online-Shop oder Anbieter eine Provision, was mich u.A. bei den laufenden Kosten den Blogs unterst├╝tzt. F├╝r dich ver├Ąndert sich der Preis nicht.

J├Ârg

hat meintechblog.de ins Leben gerufen, um seine Technikbegeisterung und Erkenntnisse zu teilen. Er ver├Âffentlicht regelm├Ą├čig Howtos in den Bereichen Smart Home und Home Entertainment. Mehr Infos

7 Gedanken zu „Howto: Mit FHEM Push-Nachrichten aufs iPhone schicken“

  1. Hallo, erstmal Danke f├╝r die Anleitung. Beim Versuch die 99_myUtils.pm zu speichern bekomme ich diese Fehlermeldung:
    Unrecognized character \xE2; marked by <– HERE after my $ret = <– HERE near column 11 at ./FHEM/99_myUtils.pm line 8.

    Was mache ich falsch ?

    Gru├č Holgi

    1. Wahrscheinlich wurden die Anf├╝hrungszeichen „umformatiert“ oder es wurde f├Ąlschlicherweise ein Zeilenumbruch eingef├╝gt. Bitte mal kontrollieren…

  2. Danke f├╝r die guten Artikel zum praktischen Einsatz von FHEM. Ich habe mir hier schon einige Anregungen geholt. Deine L├Âsung oben l├Ąsst sich ├╝brigens mit Einsatz des Threshold-Moduls noch einfacher und flexibler gestalten.

  3. Hallo , ich habe es hinbekommen ├╝ber Telegram Nachrichten aufs Handy zu bekommen. nun m├Âchte ich mittels der App Tasker bei bestimmten Meldungen bestimmte Aktionen ausf├╝hren. das ist mir bisher nicht gelungen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht ver├Âffentlicht. Erforderliche Felder sind mit * markiert