Hausautomatisierung Teil 2: FHEM installieren und einrichten

Damit unser frisch eingerichteter Raspberry auch zukünftig unsere ganzen Hauskomponenten steuern kann benötigen wir noch eine Automatisierungssoftware. Dafür kommt bei mir FHEM (offizielle Seite) zu Einsatz. FHEM ist eine in Perl geschriebene Serveranwendung. Diese bietet für den Benutzer eine grafische Oberfläche, mit der er neue Komponenten hinzufügen, bearbeiten und übersichtlich anordnen kann. Wie du FHEM einrichtest, will ich dir in diesem Artikel einmal zeigen.

Und so geht’s los

Zunächst müssen wir uns wieder per SSH auf unseren Raspberry verbinden. Wie das geht habe ich im vorherigen Artikel bereits beschrieben. Dort einfach wieder mit Benutzernamen und Passwort anmelden.

Jetzt schauen wir erstmal, ob nicht irgendwelche Updates für unseren Pi zur Verfügung stehen. Das geht mit folgendem Befehl:

$ sudo apt-get update && sudo apt-get upgrade

Wie ich oben schon gesagt hatte, ist FHEM ein in Perl geschriebenes Programm. Deshalb müssen wir noch einige Pakete installieren. Dafür einfach folgenden Befehl ausführen:

$ sudo apt-get -y install perl-base libdevice-serialport-perl libwww-perl libio-socket-ssl-perl libcgi-pm-perl libjson-perl sqlite3 libdbd-sqlite3-perl libtext-diff-perl libtimedate-perl libmail-imapclient-perl libgd-graph-perl libtext-csv-perl libxml-simple-perl liblist-moreutils-perl ttf-liberation libimage-librsvg-perl libgd-text-perl libsocket6-perl libio-socket-inet6-perl libmime-base64-perl libimage-info-perl libusb-1.0-0-dev libnet-server-perl

FHEM herunterladen und installieren

Jetzt sind alle benötigten Pakete installiert. Nun können wir uns an die eigentliche Installation machen. Dazu müssen wir zunächst die Software von der offiziellen Website herunterladen. Ich werde FHEM im Folgenden installieren, ohne es zu meinen Paketquellen hinzuzufügen.

$ wget http://fhem.de/fhem-5.9.deb

Mit dem obigen Befehl laden wir also die FHEM-Version 5.9 herunter, welche nun im nächsten Schritt installiert wird.

$ sudo dpkg -i fhem-5.9.deb

Weiter geht’s nun im Browser.

Weboberfläche absichern

Um auf deine frisch installierte Instanz von FHEM zu gelangen, musst du im Browser einfach nur deine Raspberry IP mit dem Verweis auf den Port 8083 angeben. Dabei solltest du natürlich auch darauf achten, dass der Port auch über den Router freigegeben ist.

Beispiel: 192.168.1.163:8083

Jetzt sollte dich die FHEM Oberfläche begrüßen und dir auch gleich ein paar wichtige Hinweise anzeigen.

Startseite von FHEM nach dem ersten Aufruf im Webbrowser.

Wie in den ersten beiden Zeilen zu erkennen ist, werden wir aufgefordert ein Passwort für das Web-Device zu vergeben. Das ist auch spätestens dann wichtig, wenn du deinen Pi über das Internet erreichbar machst. Dann hat nämlich jeder, der die URL deines Pi’s kennt Zugriff auf deine FHEM-Installation und somit auch auf dein Haus!

Genutzt wird zur Authentifizierung ein Base64 String. Generiert wird er aus einem Benutzernamen:Passwort Muster. Diesen lassen wir uns gleich einmal über die Konsole ausgeben. Du solltest dir das Passwort unbedingt merken, da du sonst keinen Zugang mehr zu deiner Installation hast!

$ echo -n stephan:lipsum | base64

Die Ausgabe sollte so aussehen:

c3RlcGhhbjpsaXBzdW0=

Bitte Beachte, dass du deine eigenen Zugangsdaten (Benutzername:Passwort) verwendest!

Jetzt müssen wir FHEM noch sagen, dass wir diesen String zur Authentifizierung nutzen wollen. Dafür klicken wir im linken Bereich auf den Menüpunkt Unsorted (alternativ auch Everything) und danach auf das Gerät WEB.

Hier weisen wir nun ein neues Attribut mit dem Inhalt unserer Terminalausgabe zu. Dieses heißt basicAuth. Dazu im unteren Drittel auf das Pulldownmenü klicken und basicAuth auswählen. Danach im Textfeld rechts davon den Wert einfügen und auf attr klicken.

Im rot markierten Bereich basicAuth auswählen, Base64 String einfügen und auf attr Button klicken.

Alternativ kann auch der folgende Befehl in die Befehlszeile (Textfeld ganz oben) eingegeben werden (den letzten Teil wieder durch den eigenen String ersetzen):

attr WEB basicAuth c3RlcGhhbjpsaXBzdW0=

So jetzt sollte FHEM auch schon nach den Zugangsdaten fragen:

FHEM fragt beim Aufruf nach dem festgelegten Benutzernamen und Passwort

Zum Abschluss noch auf Save Config (oben im linken Menü) klicken, damit die Änderungen übernommen werden.

Weitere Anpassungen

FHEM ist etwas träge – initialUsbCheck

Beim starten kann FHEM träge reagieren. Dies war bei mir öfter einmal der Fall. Die Ursache kann der initiale USB Check sein. Dieser kann mit folgendem Befehl über die Weboberfläche deaktiviert werden. Bitte vorher alle USB Geräte abstecken.

attr initialUsbCheck disable 1

Jetzt wieder auf Save Config klicken, damit die Änderungen gespeichert werden. Nun können auch die USB Geräte eingesteckt werden. Abschließend noch diesen Befehl ausführen:

shutdown restart

Ein Blick unter Everything verrät, dass alles geklappt hat.

initialUsbCheck disabled

FHEM Update

Zum Schluss führen wir noch das erste Update deiner neuen FHEM Instanz aus. Dazu nutzt du einfach den Befehl Update in der Kommandozeile. Das Resultat sollte in etwa so aussehen:

Wenn die rot markierte Zeile zu sehen ist, ist das Update beendet.

Bitte werde nicht ungeduldig, ein Update kann eine ganze Weile dauern. Die genaue Zeit kommt immer auf deine Systemauslastung an. Zum Abschluss noch einmal shutdown restart in die Kommandozeile eingeben und mit Enter bestätigen.

Und jetzt wünsche ich dir viel Spaß beim Ausprobieren und anlegen neuer Geräte :)

Schreibe einen Kommentar

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

What is 14 + 5 ?
Please leave these two fields as-is:
IMPORTANT! To be able to proceed, you need to solve the following simple math (so we know that you are a human) :-)