EIB / KNX: Unterschied zwischen den Versionen
(Die Seite wurde neu angelegt: „Fhem kann auch Geräte über EIB bzw KNX steuern. '''Hinweis''': Obwohl hier explizit ein Raspberry Pi verwendet wird, sollte die Ableitung für jedes Debian-…“) |
(→Tipps) |
||
Zeile 67: | Zeile 67: | ||
<nowiki>attr ist.* dummy 1</nowiki> | <nowiki>attr ist.* dummy 1</nowiki> | ||
vereinfachen. | vereinfachen. | ||
[[Kategorie:HOWTOS]] |
Version vom 11. Mai 2013, 15:42 Uhr
Fhem kann auch Geräte über EIB bzw KNX steuern.
Hinweis: Obwohl hier explizit ein Raspberry Pi verwendet wird, sollte die Ableitung für jedes Debian-Basierte (also auch Ubuntu) anwendbar sein.
Zu diesem Zweck habe ich mir einen Raspberry Pi und einen TUL (http://busware.de/tiki-index.php?page=TUL) besorgt. Der TPUART ist ein Baustein, der die Verbindung zwischen dem EIB und einer seriellen Schnittstelle herstellt. In dem USB TUL ist dem TPUART ein Microcontroller vorgeschaltet, der eine Wandlung von USB nach seriell vornimmt.
Vorbereitung
Der TUL wird ohne Firmware ausgeliefert und muss entsprechend vor der ersten Benutzung programmiert werden. Dies kann direkt über den Raspberry Pi geschehen:
sudo apt-get install dfu-programmer wget -O TPUARTtransparent.hex [http://busware.de/tiki-download_file.php?fileId=54 http://busware.de/tiki-download_file.php?fileId=54] sudo dfu-programmer atmega32u4 erase sudo dfu-programmer atmega32u4 flash TPUARTtransparent.hex sudo dfu-programmer atmega32u4 reset sudo reboot
Der Raspberry Pi wird wie auf http://www.fhemwiki.de/wiki/Kategorie:Raspberry_Pi beschrieben vorbereitet.
Den TUL kann man wohl per eibd oder direkt einbinden. Die direkte Einbindung erfolgt über ein
define EIB TUL tul:/dev/ttyACM0@57600 1.1.255
in der fhem.cfg . Der letzte Parameter ist die EIB-Adresse unter der sich der TUL einbucht. Somit sollte es eine freie Adresse sein.
In diesem Fall ist die Adresse in der Punkt-Notation angegeben. Die Fhem versteht diese Notation, verwendet aber meist folgende Notation:
abcc
wobei a und b hexadezimale Werte von 0-f und cc hexadezimale Werte von 0-255 einnehmen können. Dies entspricht dann der Adresse
a.b.cc
genaueres kann man in der Dokumentation unter http://fhem.de/commandref.html#EIB nachlesen.
Inbetriebnahme
Jetzt ist es Zeit das Web-Interface von Fhem aufzurufen. Der RaspberryPi sollte jetzt schon im eigenen Intranet unter http://raspberrypi:8083/ erreichbar sein. Durch das autocreate feature kennt das System schon einige Geräte.
Lampen
Wenn man nun mal alle Lichtschalter betätigt, kennt das System schon die Adressen der im EIB eingebundenen Lampen. Diese sind die einfachsten Geräte im Fhem - sie lassen sich sofort über das Webinterface steuern. Über das Attribut "Raum" können die Lampen den verschiedenen Räumen zugeordnet werden, wobei das Interface nur ein Dropdown mit den schon bekannten Räumen anbietet - also erstmal nicht brauchbar ist :-(
Die Lösung besteht darin die "attr"-Zeile im Interface in das obere Eingabefeld abzutippen - also z.B.
attr EIB_abcd room Wohnzimmer
und anschliessend die Eingabetaste drücken. Der "save" Button neben dem Eingabefeld führt nicht zum gewünschten Ergebnis. Er scheint dem Festschreiben der neuen Konfiguration in der fhem.cfg zu dienen und sollte somit ab und zu betätigt werden.
Nach dieser Eingabe taucht der neue Raum auch im entsprechenden Dropdown auf.
Den kryptischen Namen der Lampe ändert man auf gleichem Weg über die Eingabe von
rename EIB_abcd wohnzimmer.deckenleuchte
Auch hier ein Achtung: der Name aller Objekte muss in Fhem eindeutig sein. Eine Bezeichnung 'deckenleuchte' wird es für mehrere Räume geben und reicht somit nicht aus.
Temperatursensoren
Definiert werden die Sensoren zunächst wie die Lampen. Damit das System allerdings weiss, dass sie als Temperatur angezeigt werden sollen, muss noch ein
attr <name temp sensor> model tempsensor
gesetzt werden. Für Heizungsventile gilt das gleiche, nur dass man dem System hier sagen muss, dass es sich um einen Prozent-Wert handelt. Je nach Information entweder
attr <name ventil> model percent
oder
attr <name ventil> model percent255 (noch nicht von mir getestet)
Um zu verhindern, dass Fhem für diese Sensoren Schaltflächen anzeigt, kann man
attr <name sensor> dummy 1
setzen. Achtung: sollte für dieses Element schon ein webCmd gesetzt sein, werden die Schaltschlächen _nicht_ deaktiviert.
Tipps
Die Fhem Kommandos unterstützen anscheinend reguläre Ausdrücke. Hat man z.B. viele Temperatursensoren mit dem Namen "ist.<raum>" angelegt und möchte ihnen nun das attribut "dummy" setzen, kann man das mit
attr ist.* dummy 1
vereinfachen.