ITRaspberry Pi

Raspberry PI und enOcean: Teil 2 EnOcean Funkmodul und FHEM

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/

 

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 Rasp­berry Udates zu holen und das System neu zu starten. Dann wird bei aus­ge­schaltetem 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:
eno3

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

fhem1

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:

fhem2

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

fhem3

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:

fhem4Es 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 Vor­gang war etwas komplizierter und kniffliger, ist aber auch gut bei FHEM beschrieben.

  1. Eindeutige Base ID des Senders auslesen (erste ID des Bereichs, hier FF93ED80)
  2. 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.
  3. Flextron Empfängermodul in Lernmodus setzen. Dazu muss die Schaltwippe entfernt und eine kleine Taste LRN/SET gedrückt werden, siehe Abbildung.
  4. 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 angelerntfhem5
  5. 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.

fhem3

Die neuen Objekte erschienen in der FHEM Konsole respektive in der App. Per Mausclick kann nun das Licht geschaltet werden!

fhem6

Schreibe einen Kommentar

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