Raspberry Pi: Möglichkeiten der FHEM Hausautomation
Hausautomation ist eine faszinierende Thematik und es gibt bereits zahlreiche Produktlösungen, die ihre Aufgabe häufig gut erfüllen. Das hat jedoch einen entsprechenden Preis und man ist meist abhängig von einem Hersteller. Für Bastler gibt es mit FHEM eine Hausautomations-Server Lösung an die diverse Geräte angeschlossen, verwaltet, analysiert und gesteuert werden können.
Was ist FHEM konkret?
FHEM (Freundliche Hausautomatisierung und Energie-Messung) ist ein in Perl geschriebener Hausautomations-Server, der diverse Komponenten aus dem Bereich der Hausautomation wie Lampen oder Heizungen steuern kann. Die unter GPL v2 lizenzierte Open Source Software wird seit mehreren Jahren von einer recht aktiven Community entwickelt und bietet neben der Steuerung über eine Kommandozeile, telnet, JSON, XML und direkt über TCP/IP auch von Haus aus ein Webinterface, das auch auf mobilen Endgeräten genutzt werden kann.
Technische Voraussetzung und Nutzung
Das Projekt sieht auf den ersten Blick nach einem kleinen Projekt aus, das mal entwickelt wurde und in eine Inaktivität verlief. Doch das etwas altmodische Design täuscht. Hinter FHEM steckt eine weit entwickelte technische Umgebung, die diverse Schnittstellen ansprechen kann:
- eQ-3 Spezifikationen: FS20, HomeMatic, MAX!, EM1000, FHT80b, HMS, S300, ESA2000
- KNX, ZWave, EnOcean, X10, FRITZ!Dect, Intertechno, HomeEasy, Philipps HUE
- 1Wire, Firmata, webio, panStamp, LIRC, JeeLink, RFXCOM/RFXTRX, TellStick
- Davis VantagePro2, Oregon Scientific, Allnet
- Smart TVs von Samsung, Panasonic, LG, Philips wie auch Geräte von Sonos und Logitech Squeezebox
- Amplifier von Yamaha/Denon/Onkyo, iTunes/AppleTV, Enigma2, XBMC
Dabei ist die Software modular aufgebaut, was den Vorteil bietet, dass sie schnell um weitere Schnittstellen erweitert werden kann. Außerdem ist es durch diese Struktur möglich von diversen Geräten, Sensoren usw., die noch kein eigenes Modul in der Umgebung besitzen, Daten zu loggen, diese auszuwerten und automatische Handlungen anzuweisen, aber auch die Geräte über die Oberfläche händisch digital zu steuern.
Dank der dazugehörigen DevelopmentReadingsAPI ist es möglich die Daten auch auf anderen Wegen leicht weiterzuverarbeiten. Denkbar wäre bspw. den Messwert eines Rauchmelders im Falle eines möglichen Brandes direkt über Pushbullet als Push Notification auf das Smartphone zu senden, was über ein einfaches Shell Script angewiesen wird.
FHEM lässt sich auf Windows, Linux und OS X Rechnern installieren. Da diese jedoch meist einen verhältnismäßig hohen Stromkonsum haben, werden auch andere Geräte, die im Kern meist auf Linux basieren, unterstützt. Dazu zählen Router (bspw. Fritz!Box mit angepasster Firmware), Einplatinencomputer wie der Raspberry Pi oder BeagleBone und NAS-Server (bspw. Buffalo Linkstation oder Synology Diskstation ebenfalls mit angepasster Firmware), für die es teils angepasste Versionen des Hausautomations-Servers gibt.
Benutzeroberfläche: Webinterface und Apps
Die optisch ebenfalls etwas angestaubte Weboberfläche (PGM2 genannt) von FHEM kann man sowohl auf dem Computer als auch am Smartphone steuern. Für Android gibt es außerdem die App AndFHEM und iOS User können sich über FHEMobile wie auch FHEM-Remote freuen.
Zur Einrichtung von Räumen und Geräten lassen sich die entsprechenden Befehle in der Kommandozeile des Webinterfaces ausführen. Im Weiteren können eingerichtete Geräte über das Webinterface mit u.a. Attributen bestückt werden. Unter Logfile findet man ausführliche Logs der ausgeführten Vorgänge.
Dokumentation und Community
Die oben aufgezeigte Vielfalt an Schnittstellen und unterstützten Systemen zeigt wie umfangreich FHEM ist. Bei vielen Projekten mangelt es an Dokumentation und Unterstützung der Community – auch wenn die Software von den Core-Entwicklern manchmal groß aufgezogen wurde. Bei dem Hausautomations-Server scheint dies aber nicht der Fall zu sein. In dem offiziellen Wiki des Projektes finden sich zu jedem unterstützten Gerät, sortiert nach Schnittstellen, eine eigene Seite mit Erklärungen wie man das entsprechende Gerät in der Software verwenden kann. Außerdem findet sich an dieser Stelle auch eine Art Guide zu den Phasen eines FHEM-Projekts, der beschreibt was man bei der Umsetzung eines mit FHEM realisierten Projektes beachten sollte. Weiterführend gibt es eine alphabetisch geordnete Liste von Tutorials (dort Howtos genannt), die zahlreiche Teilgebiete behandeln. Außerdem findet sich auf der Webseite des Projektes eine ausführliche Command Reference (teils auch in Deutsch), die alle Module mit deren Möglichkeiten angesprochen zu werden, behandelt.
Hilft dieser ganze Input nicht weiter so gibt es ein äußerst aktives (letzte Beiträge je Sektion meist tagesaktuell) offizielles deutschsprachiges Forum in dem man weitere Bastler um Rat fragen kann.
FHEM auf dem Raspberry Pi
Der Raspberry Pi eignet sich durch dessen GPIO-Anschlüsse und der geringen Leistungsaufnahme exzellent als FHEM Hausautomations-Server. Da Raspbian für den kleinen Rechner auf Debian basiert, genügt es einige benötigte Pakete zu installieren und anschließend das Debian Package der Software aufzuspielen.
Die weitere Einrichtung erfolgt, je nach konkretem Anwendungszweck, wie bei jeder anderen FHEM Installation. Dabei ist die GPIO Belegung zum Gerät zu berücksichtigen, damit alle verwendeten Geräte und Sensoren ordentlich funktionieren.
Zunächst müssen wir die benötigten Perl Pakete mittels des Paketmanagers APT installieren.
sudo apt-get install perl libdevice-serialport-perl libio-socket-ssl-perl libwww-perl libxml-simple-perl
Wir können nun das aktuelle Debian Paket (.deb) der Software von der Projektseite herunterladen und installieren. Zum Zeitpunkt als dieser Artikel verfasst wurde, war Version 5.6 aktuell.
sudo wget http://fhem.de/fhem-5.6.deb
sudo dpkg -i fhem-5.6.deb
sudo rm fhem-5.6.deb
Abschließend müssen wir ein paar Rechte setzen, sodass die Installation von FHEM ordnungsgemäß arbeiten kann.
cd /opt
sudo chmod -R a+w fhem
sudo usermod -a -G tty pi
sudo usermod -a -G tty fhem
Der Hausautomations-Server FHEM kann nun unter http://IP:8083/ (IP durch IP-Adresse des Raspberry Pis ersetzen) im Browser aufgerufen werden und die Einrichtung kann beginnen!
3 Kommentare. Hinterlasse eine Antwort
Kann man KNX-Aktoren mit einem Raspberry PI schalten?
Die Frage beeinhaltet die Fragen, ob es für den PI eine Platine gibt, die den KNX-Bus stellt (oder gar direkt am GPIO der KNX-Bus bereitgestellt wird), und fertige Software, evtl. ein Linux-Image, welches auf die SD-Karte installiert sofort eine Oberfläche bietet die einzelnen Aktoren einzurichten, Schaltern zuzuweisen etc..
12er-KNX-Aktoren bekommt man Gebraucht ab 120-150 Euro.
Oder gibt es günstigere Aktoren für den Schaltschrank? Wenn das System mehrere Standards unterstützt wäre es je egal welcher es ist.
Und dann die Schalter für den Bus.
Von mir aus auch Funk, wenn das günstiger wäre. Spart auch das Buskabel.
Den PI kann man ja z.B. günstig mit WLAN-ausstatten.
Oder er hängt am LAN, und deie Fritz-Box sendet dann per WLAN.
Das wäre zumindest eine Technik deren Chips so günstig wie wohl wenige andere sind. Eben wegen der Verbreitung.
Wäre schön, wenn man da günstig Technik direkt in China (über eBay und Co.) bekäme.
Aber man bekommt ja seltsamerweise nicht mal die Ersatzteile für Roller aus China direkt von Chinesischen Onlinehändlern…
Das ist eine recht spezifische Frage zur einem einzelnen Modul. Am besten wendest du dich damit in das FHEM Forum. Dort findest du bestimmt jemanden, der dir weiterhelfen kann!
Hi Tobias,
KNX-Aktoren lassen sich über den RPi schalten. Dazu benötigst du einen TUL-Stick und etwas Knowhow. Ich habe einen Blogpost dazu geschrieben, evtl. hilft dir das ja weiter. -> http://www.meintechblog.de/2014/06/knx-eib-gateway-in-fhem-einbinden/
Grüße
Jörg