Teil 1 des Artikels: http://wp.andreas.bieri.name/myblog/index.php/2014/06/03/raspberry-pi-und-enocean-teil-1-ubersicht/
Teil 3 des Artikels: http://wp.andreas.bieri.name/myblog/index.php/2014/08/22/raspberry-pi-und-enocean-teil-2-temperaturmessung/
Inhalt
Vorbereitung Pi Netzwerk
Wir starten mit einem funkionierenden Pi mit Debian Linux (z.B. Debian Wheezy). Als erstes wird der Pi mit einer statischen IP Adresse eingerichtet: üblicherweise wird der Pi einer dynamischen (DHCP) Adresse arbeiten. Für die Publikation ins Internet sollten wir aber eine feste IP Adresse definieren: sudo nano /etc/network/interfaces
entferne iface eth0 inet dhcp füge hinzu (eigene Adressen sinngemäss einsetzen):
iface eth0 inet static
address 192.168.0.6
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
gateway 192.168.0.1
und speichere mit Ctrl-X und Y. Wer die Angaben nicht weiss, kann sich mit sudo ifconfig die Werte anzeigen lassen. Mit sudo route -nee wird die Gateway Adresse angezeigt.
Funkmodul anbinden
Die Inbetriebnahme des Funkmoduls ist in [6] beschrieben. Als erstes sind die neusten Raspberry Udates zu holen und das System neu zu starten. Dann wird bei ausgeschaltetem Pi das Enocean Modul aufgesteckt.
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install rpi-update
sudo restart
Die serielle Konsole ist schon belegt und ist freizumachen:
sudo wget https://raw.github.com/lurch/rpi-serial-console/master/rpi-serial-console -O /usr/bin/rpi-serial-console && sudo chmod +x /usr/bin/rpi-serial-console
sudo rpi-serial-console disable
Beim Betätigen eines Enocean Tasters sollte hexdump </dev/ttyAMA0 den Empfang von Telegrammen anzeigen:
Was ist FHEM?
„FHEM ist ein Perl Server für die Haustechnik. Mit FHEM können verschiedene Aufgaben wie z.B. das Schalten von Lampen, die Steuerung von Jalousien oder Heizungkörpern und vieles mehr im Haushalt automatisiert werden. Verschiedene Messwerte wie z.B. Temperatur, Luftfeuchtigkeit oder Stromverbrauch können mit FHEM erfasst werden. FHEM ist frei verfügbar und steht unter der GNU General Public License.“ Anleitungen findet man auf der FHEM Webseite; es gibt auch ein umfangreiches Forum ([5],[7],[8]).
FHEM Installation
Zuerst sind Perl und die FHEM Bibliotheken installlieren, dann der FHEM Server:
sudo apt-get install perl libdevice-serialport-perl libio-socket-ssl-perl libwww-perl
sudo apt-get install –f
wget http://fhem.de/fhem-5.4.deb sudo dpkg –I fhem-5.4.deb
Danach kann FHEM bereits mit dem Webbrowser bedient werden: http://:8083/fhem
Grundkonfiguration
Die meisten Konfigurationen werden in der Datei fhem.cfg gemacht („Edit Files“. Das EnOcean Modul und die dadurch empfangenen Funksender sollten automatisch erkannt werden. Die folgende Zeile sollte in der Datei zu finden sein, andernfalls kann sie manuell eingefügt werden.
define TCM310_0 TCM 310 /dev/ttyAMA0@57600
Testen: gehe zum Menupunkt „Event Monitor“ und tippe auf den Flextron Lichtschalter. Es erscheinen sofort einige Telegramme, wenn das Modul korrekt erkannt wurde:
Gleichzeitig wird durch FHEM ein Eintrag in der Konfigurationsdatei gemacht und der Schalter ist nun dem System bekannt. Drückt man alle Schalter im Haushalt, werden sie alle im FHEM System erfasst sein. Damit können nun bereits Daten eingelesen werden (z.B. auch Daten von Sensoren). Es ist noch nicht möglich, von FHEM einen Aktor zu betätigen, dazu muss das Funkmodul bei allen Aktoren erst angelernt werden (s. unten).
Externen Zugang einrichten
Als nächstes publizieren wir die Konsole von FHEM im Internet unter einer URL wie z.B. http//<meineöffentlicheAdresse>:8083/fhem. Das Vorgehen ist vom eigenen Netzwerk abhängig und kann hier nicht beschrieben werden. Ein Passwort ist unbedingt festzulegen: man kopiert dazu die Ausgabe von z.B. echo -n andreas:supersicher | base64 als Text und fügt sie hier in der fhem.cfg ein: attr WEBphone basicAuth und startet FHEM auf der FHEM Oberfläche neu: shutdown restart. So sieht meine Konfiguration aus:
Es gibt für iPad/Android bereits mehrere FHEM Apps in den öffentlichen App Stores [9].
Schalter anlernen
Der Enocean Sender muss dem Aktor bekanntgemacht (angelernt) werden. Dieser Vorgang war etwas komplizierter und kniffliger, ist aber auch gut bei FHEM beschrieben.
- Eindeutige Base ID des Senders auslesen (erste ID des Bereichs, hier FF93ED80)
- Schalterobjekt in fhem.cfg mit einer freien ID aus dem Bereich erstellen (z.B. Base ID plus 1, FF93ED81). Das Schalterobjekt heisst hier: og_Licht.
- Flextron Empfängermodul in Lernmodus setzen. Dazu muss die Schaltwippe entfernt und eine kleine Taste LRN/SET gedrückt werden, siehe Abbildung.
- aus der FHEM Konsole Kommandos für den Schalter og:Licht absetzen. Das Blinken der LED sollte kurz aufhören, dann wurde das Funkmodul erfolgreich angelernt
- Schaltwippe wieder richtig orientiert aufsetzen (die Kunststoffabdeckung definiert den Sendekanal – ein Enocean Sendemodul hat zwei IDs)
FHEM Objekte einrichten
Sobald der Aktor den Sender akzeptiert hat, können nun weitere logische Objekte wie Räume und Gruppen eingerichtet werden, die dann auch wirklich eine Aktion auslösen. Eine Detailerklärung würde hier zu weit führen.
Die neuen Objekte erschienen in der FHEM Konsole respektive in der App. Per Mausclick kann nun das Licht geschaltet werden!