WhatsApp notify mit FHEM

Ich und auch andere verwenden Whats App zur Kommunikation mit anderen Personen. Nun ich wollte noch ein Schritt weiter gehen und Whats App gerne in meiner Heimautomation einbinden. Da ich ja einige Sensoren mittlerweile verbaut habe und da auch schon eine textuelle Übersicht gebaut habe, will ich auch informiert werden wenn ich aus der Tür gehe und ein Fenster noch geöffnet ist. Da ich das Blinken eines Licht im Vorgarten nicht für Sinnvoll halte, grade bei Tageslicht macht das wenig sind. Würde ich gerne Whats App dazu verwenden.

Zuerst sollten wir unser System aktualisieren (ist nicht unbedingt erforderlich, aber hilft in der Regel immer mal mein System zu aktualisieren :)).

Nun aktualisieren wir unser FHEM System und starten es neu.

Nun installieren wir div. Tools die später für das eigentliche Programm zur Kommunikation mit dem Whats App Servern notwendig ist.

In den meisten Anleitungen steht auch das das Paket “libtiff5-dev” ebenfalls installiert werden soll, bei mir wurde das nicht mehr aufgefunden, daher habe ich das Paket weg gelassen. In der Hoffnung das ich keine TIFF Bilder verarbeiten muss.

Nun müssen wir Python (in der Version 3) installieren.

Jetzt noch die fehlenden Module installieren.

Falls eine Meldung wie “Cannot fetch index base URL http://pypi.python.org/simple/” aufkommt, dann liegt das daran das versucht wird alles über HTTP abzurufen. Das lassen die neuen Versionen nicht mehr zu daher muss man dann die Https Adresse mit angeben.

 

FHEM User prüfen

Der FHEM Benutzer brauch eine Bash Shell, bei mir hat er keine gehabt. Um dies zu prüfen müsste man sich einmal als fhem User anmelden und einfach ein Kommando ausführen lassen.

Wird hierbei ein Verzeichnis ausgegeben dann ist alles OK. Wenn dem nicht so ist dann ist dem Benutzer keine Shell zugewiesen. Um dies nachzuholen reicht es aus in der Datei /etc/passwd einfach den Eintrag zu ändern, hier ein vorher Nachher beispiel:

Anschließend noch einmal prüfen und es wird “/opt/fhem” ausgegeben.

Installation Yowsup

Nun da alle Vorbereitungen getätigt sind, geht es daran das Programm /Skrips Yowsup zu installieren, dies wird dafür verwendet, um mit den WhatsApp servern zu kommunizieren.

Nachdem die Quellen von Github geclont wurden, müssen wir noch eine Config-Datei anlegen.

Statt nano kann auch ein anderer editor wie vi verwendet werden. Ich bevorzuge nano :). Nun muss in der Config-Datei die Nummer reingeschrieben werden mit der man sich beim WhatsApp Server anmeldet.

Password und id kann ignoriert werden. Nun müssen noch die Besitzrechte angepasst werden so dass der fhem Benutzer Zugriff auf die Dateien und das Skriptverzeichniss erhält:

Jetzt müssen wir einmal die Konfiguration starten, das darf aber nur als FHEM Benutzer durchgeführt werden. Erst einmal melden wir uns wieder als FHEM Benutzer an und wechseln in das vorher geclonte Verzeichniss.

Jetzt starten wir den Registrierungsprozess um einen PIN zu erhalten, haltet etwas zu schreiben bereit, denn danach werdet Ihr angerufen.

Eine Ausgabe sieht dann wie folgt aus.

Nun erhaltet Ihr per Telefon einen Pincode. Diesen Code müsst Ihr beim Registierungsprozess angeben:

Die Ausgabe sieht dann wie folgt aus:

Die Registrierung ist nun abgeschlossen und Ihr habt mit dieser Antwort euer Passwort erhalten (Stelle wurde entsprechend markiert). Dies müsst Ihr nun in der Config-Datei hinterlegen.

Nun sendet einfach mal eine Testnachricht ab um zu prüfen, ob diese versendet wird.

Nun sollte eine Nachricht ankommen. Jetzt kann in FHEM das verwendet werden

Einrichtung in FHEM

Ich zeige nal an einem Simplen Beispiel auf, wie in FHEM die WhatsApp Integration funktionieren kann.

Zuerst müssen wir ein yowsup-Device anlegen.

Nachfolgend deklarieren wie die Befehlszeile mit der die Nachrichten versendet werden können und wie das Basisverzeichnis lautet

Sobald Ihr das in der Befehlszeile von FHEM eingegeben habt, wird der Status auf connected geändert und bei Whats App sehr Ihr das eurer FHEM auch nun online ist.

Der folgende Test zeigt auch wie man eine Nachricht versenden kann.

Das versenden von Bildern ist auch möglich

Wie bereits gesagt, das ist ein sehr simples Beispiel, aber die Möglichkeiten stehen jedem selbst offen. Beispielsweise bei einer Gartentüröffnung ein Bild vom Eingang erstellen, das dann per Whats App versendet wird.