Raspberry Pi – Smart-Home mit EnOcean – Teil 4
Nach dem wir uns im letzten Teil angesehen habe was wir alles konfigurieren müssen damit die EnOcean Erweiterungsplatine korrekt funktioniert, haben wir jetzt endlich ein funktionierendes Gateway. Jetzt können wir unser Smart-Home konfigurieren und alle Sender und Empfänger einstellen. Dafür brauchen wir die Open Source Software FHEM.
FHEM
Die Software FHEM wurde speziell für Haus Automatisierung entwickelt und steht unter der GPL Lizenz, ist somit Open Source. Mit dieser Open Source Smart-Home Software kann man unter anderem auch EnOcean Geräte verwalten. Viele Hersteller entwickeln FHEM dahingehend weiter, dass auch ihre Geräte unterstützt werden. Das EnOcean Raspberry Pi Funkmodul wird beispielsweise von FHEM sofort erkannt und sollte nach einem Neustart der Software auch ohne weitere Konfiguration bereits Sender und Empfänger erkennen und anzeigen. Wie installiert man jedoch FHEM?
Installation
Im ersten Schritt muss der Raspberry Pi auf die Installation vorbereitet werden, d.h. wir bringen wie gewohnt die Softwarepakete auf den aktuellsten Stand und danach installieren wir alle benötigten Module mit folgendem Befehl:
sudo apt-get install perl libdevice-serialport-perl libio-socket-ssl-perl libwww-perl sudo apt-get install –f
FHEM selbst bekommt man auf der Homepage als Linux Archiv, für unser Raspbian Linux das auf Debian basiert benötigen wir deshalb *.deb Pakete. Wir können dieses auch über die Kommandozeile herunterladen und installieren:
wget http://fhem.de/fhem-5.5.deb sudo dpkg –i fhem-5.5.deb
Mitte 2014 ist die Version 5.5 aktuell. Vor dem herunterladen und installieren bitte auf der Homepage nachsehen, ob es eine neuere Version gibt und deren Versionsnummer bei den Kommandos ersetzen.
Das wäre es eigentlich schon. Das Programm ist über eine Weboberfläche erreichbar. Im Browser einfach „localhost:8083/fhem“ eingeben oder falls man von einem externen Rechner darauf zugreifen will mit „192.168.1.4:8083/fhem“. Die IP Adresse bitte auf jener von Raspberry Pi ändern.
Konfiguration
Die Konfiguration ist der komplizierteste Prozess bei der Haus Automatisierung. Je nach Anzahl und Typ der Geräte kann man hier schnell die Übersicht verlieren. Aus diesem Grund ist es vorteilhaft schon zuvor offline einen Plan zu haben, welcher Sender in welchem Raum schaltet welches Gerät, oder welcher Sensor schickt von wo welche Daten.
FHEM stellt für die Konfiguration glücklicherweise eine gute Dokumentation bereit, mit der auch Anfänger relativ sanft in die Thematik eingeführt werden. Mit etwas Einarbeitungszeit und einigen Aufwand für Tests kommt man recht schnell zu einem Ergebnis.
FHEM Crashkurs
Ich möchte euch auf den nächsten paar Absätzen kurz und knapp eine Übersicht über FHEM geben. Das Programm kennt im Prinzip zwei unterschiedliche Arten von Geräten:
- Sender (Sensoren)
- Empfänger (Aktoren)
FHEM selbst ist sehr benutzerfreundlich, denn so gut wie alle Geräte werden automatisch erkannt und brauchen keine eigene Installation oder Konfiguration. Eine einfache aber effektive Änderung die man trotzdem machen sollte ist der Name. Mein Sender wurde beispielsweise mit dem Namen „EnO_switch_0024556B“ angelegt. Wie man sieht ist dieser sprechend. Es ist ein EnOcean Switch. Jedoch wird es verwirrend, sobald man mehr als einen hat. Aus diesem Grund einfach umbenennen zB: „Lichtschalter_Vorraum“.
Der Screenshot zeigt Informationen zum Zustand meines Schalters. Wie ihr erkennen könnt ist der derzeitige Zustand „pressed“, d.h. ich halte den Schalter zum Zeitpunkt des Screenshots gerade gedrückt. Das Datum daneben zeigt auch schön an wann diese Aktion stattgefunden hat.
Weitere Funktionen von FHEM
Das Programm hat neben dem Erkennen und Verbinden von Sendern und Empfänger noch zahlreiche weitere wichtige Funktionen:
- zeitgesteuerte Kommandos
man kann Abläufe über zeitgesteuerte Kommandos genau Timen. Beispielsweise könnte man automatisch um Mitternacht alle Lampen ausschalten. Somit verhindert man, dass ein vergessenes Licht die ganze nacht brennt. - Benachrichtigungen
es stehen auch Benachrichtigungen zur Verfügung. Zu diesem Punkt verweise ich auf die FHEM Dokumentation. - Logging
im Screenshot ist zu sehen, dass jede Aktion auch mit einem Datum in Verbindung steht. D.h. man kann auch alle Aktionen im FHEM System mit loggen. Diese Logs kann man nach gewissen Kriterien später analysieren. - Diagramme
FHEM erlaubt der erstellen von Diagrammen. Das ist ein effektives Hilfsmittel um die geloggten Daten visuell darzustellen.
Räume
Einer der mächtigsten Funktionen bei FHEM sind die Räume. Damit ist es möglich Sender und Empfänger zu einer Gruppe zusammenzufügen. Meistens sind dies auch physische Räume, um die Konfiguration einfacher zu machen, jedoch ist es auch möglich vollkommen eigene Gruppen zu erstellen. Fügt man alle Empfänger die für Licht zuständig sind zusammen und konfiguriert einen Schalter der diese Gruppe steuert, dann hat man einen Master Schalter, der das Licht in der ganzen Wohnung ein- bzw. ausschalten kann.
Sicherheit
Das wichtigste Thema überhaupt. Ohne weitere Konfiguration sollte ein FHEM Smart-Home nie produktiv genutzt werden. Die gesamte Kommunikation ist standardmäßig unverschlüsselt. Hat man also alle Tests abgeschlossen und das System läuft wie gewünscht, dann sollte man unbedingt auf HTTPS umstellen, damit man nicht eines Tages Opfer einer Attacke wird. FHEM bietet alles an was man für diese Konfiguration benötigt.
Soviel zu meinem Artikel zu FHEM. Wer Lust hat selber ein Smart-Home zu haben kann sich ja kostengünstige Modelle kaufen und probieren. Wenn alles funktioniert kann man das Smart-Home ja Stück für Stück erweitern und ausbauen.
Im nächsten Teil zeige ich euch noch welche Tests ich mit meinem kleinen EnOcean System gemacht habe.
Teil 1 | Teil 2 | Teil 3 | Teil 5
Hallo,
hier wird sehr gut beschrieben wie die umsetzung mittels des FHEM funktioniert. Ich würde die Programmierung gerne mittels CoDeSys umsetzen. gibt es dafür auch schon fertige Libs oder eine Gerätebeschreibungsdatei des ENOCEAN PI Moduls?
Mit freundlichen Grüßen
Thorsten
Hallo,
du schreibst
[…]
Konfiguration
Die Konfiguration ist der komplizierteste Prozess bei der Haus Automatisierung.
[…]
Wie muss man es denn Konfigurieren? Kannst du dazu noch ein paar mehr Sätze oder eine kleine Anleitung schreiben? Ich finde deine Teile hier sehr hilfreich. 🙂