Hallo,
ich wollte kurz meine Erfahrungen und Erkenntnisse wieder ins Forum zurückspielen.
Worum geht es?Ich habe bislang EnOcean Komponenten von Eltako verbaut und war auf der Suche nach einer
schönen Fernbedienung für den Schlüsselbund, mit der ich z.B. das Garagentor öffnen und das Außenlicht an und ausschalten kann. Von EnOcean habe ich hier irgendwie nichts geeignetes gefunden, bei HomeMatic schon: den Funk-Handsender 130459 HM-RC-Key4-2. Als HomeMatic-Neueinsteiger habe ich mich dann durch diverse Threads und Wiki-Einträge gewühlt und habe es letztendlich geschafft, die Fernbedienung über das CUL Interface von Busware in FHEM einzubinden. Im Folgenden fasse ich kurz die notwendigen Schritte zusammen, sodass es eine vollständige und aktuelle Anleitung mit Stand 12/2014 ergibt. Die Infos habe ich wie schon erwähnt aus mehreren Quellen zusammengetragen, mein Dank an dieser Stelle an die Autoren dieser Beiträge!
VorarbeitenDamit FHEM das HomeMatik-Protokoll BidCoS verstehen und sprechen kann, habe ich mir von Busware einen CUL868 in der Version 3.4 bestellt. Der USB-Stick kommt OHNE "Betriebssystem" und muss zunächst einmalig mit einer geeigneten Firmware bespielt werden. Die passende Firmware-Datei kann so heruntergeladen werden:
wget http://sourceforge.net/p/culfw/code/HEAD/tree/trunk/culfw/Devices/CUL/CUL_V3.hex?format=raw -O CUL_V3.hex
Diese Datei habe ich dann mit dem Tool FLIP http://www.atmel.com/tools/FLIP.aspx (http://www.atmel.com/tools/FLIP.aspx) unter Windows auf den Stick gespielt. Wie das geht zitiere ich auszugsweise von hier http://www.steffen-sobe.de/sonstiges/fhem-fritzbox7270.shtml (http://www.steffen-sobe.de/sonstiges/fhem-fritzbox7270.shtml):
- Run FLIP
- Click "File - Load HEX file" and choose CUL_V3.hex
- Click the buttons one after the other, e.g. choose the correct device (e.g. ATmega32U4), communication medium "USB", erase, program etc.
Nach einem Reboot blinkt der Stick dann im Sekundentakt.
CUL am Raspberry PIDa schon EnOcean und JeeLink an meinem Raspberry Pi hingen und ich ein wenig Sorge um eine ausreichende Stromversorgung hatte, hab ich einen aktiven USB-Hub dazugekauft. Ich habe FHEM kurz gestoppt, CUL eingesteckt und FHEM wieder gestartet. Soweit ich gelesen habe kann man das auch "online" via
usb scan machen. Es gibt jetzt ein neues Device
CUL_0 mit der Firmware-Version 1.62 CUL868.
CUL konfigurierenMeine Minimalkonfiguration sieht derzeit so aus:
define CUL_0 CUL /dev/ttyACM0@9600 0000
attr CUL_0 hmId XXXXXX
attr CUL_0 rfmode HomeMatic
Der Platzhalter XXXXXX wird durch eine frei gewählte hexadezimale Zahl
zwischen 000000 und FFFFFF ersetzt und gibt die Adresse vom CUL an. Damit das Anlernen später funktioniert, wird der Stick auf das HomeMatic Protokoll eingestellt.
Fernbedienung anlernenEin Druck auf eine Taste der Fernbedienung findet sich jetzt schon im Log:
Unknown code A0B0B84402FB0BB0000000207::-66.5:CUL_0, help me!
Mit
set CUL_0 hmPairForSec 60 setzt man dann FHEM in den Anlernmodus. Jetzt hat man 60 Sekunden Zeit, den kleinen Schalter auf der Rückseite der Fernbedienung einmal
kurz zu drücken. Nach ein wenig Geblinke der LED gibt es ein neues Gerät im Raum
CUL_HM. Das kann man auch im Log nachverfolgen:
2015.01.01 11:31:34 4: CUL_Parse: CUL_0 A 1A 29 8400 2FB0BB 000000 1200A64C4551303735343234364004000021 -57.5
2015.01.01 11:31:34 2: CUL_HM Unknown device CUL_HM_HM_RC_Key4_2_2FB0BB is now defined
2015.01.01 11:31:34 2: autocreate: define CUL_HM_HM_RC_Key4_2_2FB0BB CUL_HM 2FB0BB
2015.01.01 11:31:34 2: autocreate: define FileLog_CUL_HM_HM_RC_Key4_2_2FB0BB FileLog ./log/CUL_HM_HM_RC_Key4_2_2FB0BB-%Y.log CUL_HM_HM_RC_Key4_2_2FB0BB
Fernbedienung konfigurierenIch habe zunächst den recht langen Namen "CUL_HM_HM_RC_Key4_2_2FB0BB" umbenannt. Zudem gibt es 4 neue Channels, die diesem Device zugeordnet sind. Das sind die 4 Tasten auf der Fernbedienung, die ich ebenfalls umbenannt habe. Ab jetzt kann man schon die Tastendrücke im Eventlog sehen und in einem Notify verarbeiten.
RückkanalBeim Drücken der Fernbedienung bekommt man eine gelbe Rückmeldung über die LED. Wenn ich http://forum.fhem.de/index.php/topic,13050.90.html (http://forum.fhem.de/index.php/topic,13050.90.html) und http://forum.fhem.de/index.php?topic=25537.0 (http://forum.fhem.de/index.php?topic=25537.0) richtig verstanden habe, bedeutet dies, dass ein Signal gesendet wurde und keine Rückmeldung erwartet wird. Wenn FHEM den Empfang bestätigen soll, kann man das mit weiteren Kommandos erreichen:
set <Name des Channels von einer Taste> peerChan 0 <Name des CUL> single
Beispiel:
set RemoteControl1_light peerChan 0 CUL_0 single
Wichtig ist hier die Reihenfolge:
- set-Befehl in FHEM absetzen
- Einmal kurz auf die Anlern-Taste an der Fernbedienung drücken
- Kurz warten, bis das Blinken durch Grün abgeschlossen wird
Das macht man dann 4x für jede Taste auf der Fernbedienung. Das war's auch schon.
Liebe Grüße
DerJens