HowTo: FHEM – Installation auf dem RaspberryPi

Eine Begriff über den man im täglichen Leben immer öfter stolpert ist “SmartHome”. Aber was verbirgt sich dahinter? Und brauche ich das unbedingt?

Smart-Home(=Intelligentes Zuhause) ist dabei ein Oberbegriff für die Vernetzung diverser Geräte im Haushalt.
Die Idealvorstellung dabei ist, dass immer mehr Geräte im Haushalt miteinander kommunizieren, Daten austauschen und aufgrund diesen Daten unser zuhause automatisiert steuern.
Diese Systeme sollen uns also Arbeit abnehmen.

Wie immer erklärt sich das am besten an einem Beispiel:
Habt ihr ein Smart-Home System zuhause könnte dies automatisch die Heizung ausschalten(oder kälter einstellen) falls ihr nicht zuhause seid, kehrt ihr zurück wird die Heizung automatisch wieder eingeschaltet. Dies passiert selbstverständlich nicht erst wenn ihr durch die Haustüre kommt sondern bereits dann wenn ihr auf dem Rückweg seid.
Genauso könnten auch andere nicht benötigte Geräte(z.B. das Licht) in einen Energiesparmodus gehen oder ausgeschaltet werden wenn erkannt wird das niemand zuhause ist.

Nun wird sich der durchschnittsdeutsche vermutlich sagen: „Sowas brauche ich nicht. Die Menschen haben die letzten 2000 Jahre auch ohne sowas überlebt.“
Dazu kann ich nur sagen: Ja, stimmt!.
Aber es ist dabei wie mit vielem im Leben: Man braucht es nicht wirklich aber es macht das Leben trotzdem einfacher.
Das gleiche Argument gilt irgendwo auch für das Handy, Auto, Fernseher, Supermärkte und alles andere in unserem Leben, dass wir eigentlich nicht wirklich brauchen aber auch nicht mehr missen wollen.

Was dabei aktuell viel eher gegen dieses System bzw. die Systeme spricht ist, dass es ziemlich schnell sehr teuer wird und es auch keinen einheitlichen Standard gibt.
Zum Beispiel kosten steuerbare Zwischenstecker – also Zwischenstecker mit denen ihr zum Beispiel eine Lampe ein- und ausschalten könnt – mittlerweile ab 40€ aufwärts. Wer damit mehrere Geräte schalten will ist schnell sehr viel Geld los.
Dazu kommt noch, dass schaltbare Steckdosen von AVM nicht mit den schaltbaren Lampen von Osram kompatibel sind. Jede Firma kocht beim Thema Smart Home ihr eigenes Süppchen. Habt ihr mehrere Systeme im Einsatz hat dies zwangsläufig zu Folge, dass manche Sensoren und Aktoren (wie zum Beispiel schaltbare Steckdosen) nicht miteinander kommunizieren können und, dass ihr um diese Sachen zu steuern immer mit mehreren Apps herumhantieren müsst.
Ein weiteres Argument, dass mir bei kommerziellen Systemen Bauchschmerzen bereitet: Wo gehen meine Daten hin? Wer weiß noch, dass ich gerade nicht zuhause bin und kann das vllt. sogar ausnutzen?
Alles Argumente die ja eigentlich dagegen sprechen, dass durch ein Smart Home alles einfacher und sicherer werden soll.

In diese Kerbe schlägt FHEM. Dies ist eine Open-Source Smart-Home-Verwaltungssoftware die öffentlich und kostenlos zur Verfügung steht.
Das heißt diese Software und auch ihr Code sind öffentlich. Jeder kann sehen, dass diese Software keine Daten zu irgendwelchen fremden Servern funkt.
Der große Vorteil davon ist nicht nur, dass so ein System dadurch wesentlich günstiger wird, ihr könnt mit FHEM auch mehrere Systeme verschiedener Hersteller zusammenfassen und zentral steuern.
FHEM ist dabei mittlerweile so vielseitig geworden, dass es meiner Meinung nach schwierig ist Hardware zu finden die nicht damit kompatibel ist.

Was benötigt wird um mit FHEM eure erste Smart-Home-Zentrale in Betrieb zu nehmen und was dabei zu beachten ist erkläre ich in diesem Artikel. Weitere Beispiele zu den verschiedenen Einsatzmöglichkeiten werde ich dazu im Anschluss an den Artikel verlinken.

Benötigte Hardware

Um FHEM durchgehend über euer Zuhause wachen zu lassen muss es natürlich auch durchgehend laufen. Da sich die Stromversorgungsunternehmen darüber aber nicht zu sehr freuen sollen, sollte dies auch so kostengüsntig wie möglich passieren.
Deswegen ist dies ein perfekter Einsatzort für den RaspbberyPi. Dies ist ein etwa Scheckkartengroßer Computer der, einmal eingerichtet, irgendwo in den Schrank gelegt werden kann.


Sicherheitshinweise

Ich weiß die folgenden Hinweise sind immer irgendwie lästig und wirken unnötig. Aber leider haben schon viele Menschen die es "besser" wussten aus Leichtsinnigkeit Augen, Finger oder anderes verloren bzw. sich verletzt. Im Vergleich dazu ist ein Datenverlust fast nicht der Rede Wert, aber auch diese können echt ärgerlich sein. Deswegen nehmt Euch bitte fünf Minuten Zeit um die Sicherheitshinweise zu lesen. Denn auch das coolste Projekt ist keine Verletzung oder anderen Ärger wert.
https://www.nerdiy.de/sicherheitshinweise/

Affiliatelinks/Werbelinks

Die hier in aufgeführten Links zu Online-Shops sind sogenannte Affiliate-Links. Wenn Du auf so einen Affiliate-Link klickst und über diesen Link einkaufst, bekommt Nerdiy.de von dem betreffenden Online-Shop oder Anbieter eine Provision. Für Dich verändert sich der Preis nicht. Falls Du Deine Einkäufe über diese Links tätigst unterstützt Du Nerdiy.de dabei auch in Zukunft weitere nützliche Projekte anbieten zu können. 🙂 


Voraussetzungen

Bevor ihr mit diesem Artikel startet solltet ihr den RaspberryPi soweit vorbereitet haben, dass dieser über das Netzwerk erreichbar und per SSH Steuerbar ist.

Die folgenden drei Artikel beschreiben was zu tun ist um den RaspberryPi soweit vorzubereiten:
RaspberryPi – Einrichten für Nerdiys!
RaspberryPi – Die Erste Konfiguration!
RaspberryPi – Den RaspberryPi über SSH steuern

Benötigte Werkzeuge:
-keins-

Benötigte Materialien:

In der folgenden Liste findet Ihr alle Teile die Ihr zur Umsetzung dieses Artikels benötigt.


Per SSH auf dem RaspberryPi einloggen

Um zu beginnen müsst Ihr Euch als erstes mit Putty per SSH auf dem RasPi einloggen. Wie das geht ist im Artikel RaspberryPi - Den RaspberryPi über SSH steuern beschrieben.

Nach der Eingabe Eures Benutzernamen und Passworts könnt Ihr die ersten Befehle eingeben.

Paketverwaltung aktualisieren

Die Paketverwaltung in Linux ist eine "zentrale Stelle" über die sich diverse Software-Pakete installieren lassen. Damit dies zuverlässig funktioniert sollten vor jeder Installation von neuen Paketen die Listen und Quellen der Paketverwaltung aktualisiert werden.

Um das Update der Paketverwaltung zu starten müsst ihr folgenden Befehl eingeben.
sudo apt-get update && sudo apt-get upgrade
Je nachdem wie lange Euer letztes Update der Paketverwaltung her ist kann dieser Vorgang nun etwas dauern. Dabei werden zuerst die Listen aktualisiert in denen auf die einzelnen Paketquellen verwiesen wird.
Danach werden die Pakete selber aktualisiert. Da dabei zusätzlicher Speicher belegt wird, werdet Ihr nochmal nach Eurem Einverständnis gefragt. Dies müsst Ihr mit einem "J" und "Enter" bestätigen.
Ist die Aktualisierung abgeschlossen wird euch eine kleine Zusammenfassung über die Dauer und den Umfang des Updates angezeigt.

Benötigte Pakete installieren

Damit FHEM ordnungsgemäß läuft müsst ihr diverse Hilfspakete installieren. Die Installation könnt ihr mit folgenden verketteten Befehlen ausführen.

sudo apt-get install libdevice-serialport-perl && sudo apt-get install libio-socket-ssl-perl && sudo apt-get install libwww-perl && sudo apt-get install libcgi-pm-perl && sudo apt-get install libjson-perl && sudo apt-get install sqlite3 && sudo apt-get install libtext-diff-perl && sudo apt-get install libdbi-perl && sudo apt-get install libdbd-sqlite3-perl

Während der Installation der Hilfsmodule kann es zu nachfragen kommen ob ihr damit einverstanden seid, dass durch die zu installierenden Module zusätzlicher Speicherplatz belegt wird. Diese Nachfragen bestätigt ihr mit einem „j“ und Enter. Die Installation wird dann fortgesetzt.

FHEM runterladen

Nach der Installation der Hilfspakete kann nun die eigentliche Software von FHEM installiert werden. Dazu müsst Ihr das Paket von der FHEM-Webseite herunterladen. Dies geht mit dem angezeigten Befehl und dem entsprechenden Link.

wget  http:// fhem.de/fhem-X.Y.deb

Hierbei ist zu beachten, dass FHEM ständig weiterentwickelt wird. Der Teil „X.Y“ im Link steht deshalb für die sich dadurch eventuell ändernde Version von FHEM. Für die aktuelle Version(5.8) würde der Link zum Beispiel

wget http://fhem.de/fhem-5.8.deb

lauten.
Die aktuelle Version ist immer auf der Webseite von FHEM unter https://fhem.de/fhem.html#Download im oberen Bereich ersichtlich. Ihr müsst den Links also entsprechend anpassen und dann auf dem RasPi den Download ausführen.


FHEM installieren

Nach dem Download muss das soeben heruntergeladene Paket noch installiert werden. Dies geht mit folgendem Befehl. Auch diesen müsst ihr wieder auf die entsprechende Version anpassen.

sudo dpkg -i fhem-X.Y.deb

Für die aktuelle Version also:

sudo dpkg -i fhem-5.8.deb


Installation abgeschlossen

FHEM ist nun installiert und unter der IP-Adresse eures RasPi’s erreichbar.
Gebt also nun die IP-Adresse (Die gleiche die ihr auch zur Verbindung mit Putty nutzt) in die Adressleiste ein.
Hinter die IP-Adresse schreibt ihr noch den Port auf dem FHEM erreichbar ist mit einem Doppelpunkt davor.
Also „:8083“.
Sollte euer Raspi die IP-Adresse 192.168.0.2 haben dann würde der Link zu FHEM also 192.168.0.2:8083 lauten.

Was ihr nun seht ist die erste Startseite von FHEM. In diesem ersten Zustand kann FHEM natürlich noch nicht viel. Wie ihr die FHEM Konfigurationsseite bedient, mit einem Passwort schützt und auch ein etwas peppigeres Design aktiviert erfahrt ihr in den folgenden Artikeln:
FHEM – Aufbau, Module & Wissenswertes
FHEM – Zugang zur Konfigurationsoberfläche absichern


Viel Spaß mit dem Projekt

Ich hoffe bei euch hat alles wie beschrieben funktioniert. Falls nicht oder ihr Fragen oder Anregungen habt lasst es mich in den Kommentaren bitte wissen. Ich trage dies dann ggf. in den Artikel nach.
Auch Ideen für neue Projekte sind immer gerne willkommen. 🙂

P.S. Viele dieser Projekte - besonders die Hardwareprojekte - kosten viel Zeit und Geld. Natürlich mache ich das weil ich Spaß daran habe, aber wenn Du es cool findest, dass ich die Infos dazu mit Euch teile, würde ich mich über eine kleine Spende an die Kaffeekasse freuen. 🙂

Buy Me a Coffee at ko-fi.com       

Kommentar hinterlassen

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

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.