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) zum 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.
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.
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:
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.
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:
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 :)