Vorbereitung
Nachdem die Teile zum Ausprobieren von Homegear angekommen sind, kann ich endlich ein wenig ausprobieren.
Komponenten Liste:
– RaspberryPi
– CUL1101 v3.4
Der RaspberryPi läuft mit einem Debian Jessie minimal Image, das ich frisch für die Verwendung aufgesetzt habe.
CUL1101 vorbereiten
Der CUL muss mit der passenden Firmware geflasht werden, um verwendet werden zu können. Zuerst muss der CUL in dem RaspberryPi eingesteckt werden. Mit ‚lsusb‘ kann überprüft werden, ob der USB Stick erkannt wurde.
Es wird die Software ‚dfu-programmer‘ benötigt, um den CUL zu flashen.
Jetzt kann die Firmware auf den RaspberryPi heruntergeladen werden. Stand heute ist es mit diesem Link möglich. Ich empfehle aber, die neueste Version herunterzuladen.
http://culfw.de/culfw-1.66.tar.gz
Die neueste Version kann hier nachgeschaut werden: http://culfw.de/culfw.html#Links (Source)
Dann mit ‚tar xzf‘ entpacken. In das Verzeichnis wechseln:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
~/Downloads$ ls -l insgesamt 2196 drwxrwxr-x 9 johannes johannes 4096 Apr 7 21:03 culfw-1.66 -rw-rw-r-- 1 johannes johannes 2241714 Apr 7 21:07 culfw-1.66.tar.gz ~/Downloads$ cd culfw-1.66/ ~/Downloads/culfw-1.66$ ls -l insgesamt 48 drwxrwxr-x 5 johannes johannes 4096 Sep 9 21:50 avr-uip -rw-rw-r-- 1 johannes johannes 11656 Mär 20 19:39 CHANGED drwxrwxr-x 3 johannes johannes 4096 Sep 9 21:50 clib drwxrwxr-x 23 johannes johannes 4096 Sep 9 21:50 Devices drwxrwxr-x 2 johannes johannes 4096 Sep 9 21:50 docs drwxrwxr-x 2 johannes johannes 4096 Sep 9 21:50 fonts drwxrwxr-x 4 johannes johannes 4096 Sep 9 21:50 lufa -rwxrwxr-x 1 johannes johannes 154 Mär 29 2014 README drwxrwxr-x 2 johannes johannes 4096 Sep 9 21:50 tools -rw-rw-r-- 1 johannes johannes 108 Nov 29 2015 version.h ~/Downloads/culfw-1.66$ cd Devices/CUL/ |
Der CUL muss jetzt vom Raspberry getrennt werden.
Mit gedrücktem RESET Knopf jetzt den CUL wieder an den Raspberry stecken.
Danach folgende Befehle ausführen:
1 2 3 |
sudo dfu-programmer atmega32u4 erase sudo dfu-programmer atmega32u4 flash CUL_V3.hex sudo dfu-programmer atmega32u4 reset |
Nachdem der CUL nochmals aus und angesteckt wurde (diesmal natürlich ohne Reset Knopf), sollte er von ‚lsusb‘ erkannt werden als
1 |
Bus 009 Device 003: ID 03eb:204b Atmel Corp. LUFA USB to Serial Adapter Project |
Mit ’screen‘ kann überprüft werden, ob der CUL auch funktioniert.
1 2 |
screen /dev/ttyACM0 V |
Das sollte die Version des CUL zurückgeben.
Homegear installieren
Um jetzt mit den Homematic Geräten kommunizieren zu können, wird Homegear benötigt.
Zum hinzufügen des Repositories:
1 2 3 4 5 6 7 |
cd ~/Downloads wget https://homegear.eu/packages/Release.key sudo apt-key add Release.key rm Release.key sudo echo 'deb https://homegear.eu/packages/Raspbian/ jessie/' >> /etc/apt/sources.list.d/homegear.list # ggf. muss dieser Befehl auch als root ausgefuehrt werden. sudo apt update sudo apt install homegear homegear-homematicbidocs |
Unter „https://www.homegear.eu/index.php/Downloads“ ist alles genau beschrieben. Achtung! Es gibt drei Reiter (Debian, Raspbian, Ubuntu). Ich war zu schnell und hatte es mit Debian ausprobiert und das hat natürlich nicht funktioniert. 🙂
Der letzte Schritt kann gerade auf den älteren RaspberryPis einige Zeit in Anspruch nehmen. Be patient…
Homegear konfigurieren
Jetzt müssen wir natürlich Homegear noch sagen, über welche Schnittstelle es kommunizieren soll. Hierfür muss die Konfigurations-Datei entsprechend angepasst werden.
1 |
vim /etc/homegear/families/homematicbidcos.conf |
In dieser Datei gibt es einen Sektor „CUL“. Dieser muss wie folgt angepasst werden:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
####################################### ################# CUL ################# ####################################### ## The device family this interface is for [CUL] ## Specify an unique id here to identify this device in Homegear id = first-cul ## When default is set to "true" Homegear will assign this device ## to new peers. default = true ## Options: cul, cc1100, coc, cunx, hmcfglan, hmlgw, hm-mod-rpi-pcb deviceType = cul device = /dev/ttyACM0 ## Default: responseDelay = 95 ## Should be "95" for CUL or COC, "100" for TI CC1101 and "60" for HM-CFG-LAN or HM-LGW responseDelay = 95 |
Einige Konfigurationen müssen/können/sollen (:)) im „General“ Abschnitt auch noch gemacht werden:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
####################################### ########## General Settings ########## ####################################### [General] ## The BidCoS address of Homegear. It is recommended to change this to a random 3 byte hexadecimal ## value starting with 0xFD (e. g. 0xFD43AB). Only change this, when no HomeMatic BidCoS devices ## are paired to Homegear as existing pairings will not work anymore! #centralAddress = 0xFD0001 centralAddress = <youreaddresshere> ## Specify a 16 byte (32 characters) long AES key here to protect your wireless communication ## !!! IMPORTANT: It is highly recommended to change this key before pairing the first device. ## !!! IMPORTANT: Never ever lose this key. That would render your devices useless. ## To remove the key from your devices, you need to factory reset them #rfKey = 00112233445566778899AABBCCDDEEFF rfKey = <yourekeyhere!!!> ## With each key change currentRFKeyIndex needs to be ## incremented by 1 currentRfKeyIndex = 1 ## When you change rfKey, put the old key here. To change the key Homegear needs to know the ## old and the new one. ## !!! Do not set oldRFKey when you set rfKey for the first time !!! ##oldRFKey = 00112233445566778899AABBCCDDEEFF ## When set to "true" unsigned broadcast packets are processed by Homegear. This could enable an ## attacker to make Homegear do things, you don't want. That means, this option is a security ## risk. processBroadcastWithAesEnabled = false |
Bei Adresse und Key einfach schon einfallsreich sein ^^
Danach kann homegear gestartet werden:
1 2 |
systemctl start homegear systemctl status homegear |
Soweit so gut. Jetzt wird es spannend.
Homegear starten
Jetzt können wir zum ersten Mal Homegear starten:
1 2 3 |
$ homegear -r Connected to Homegear (version 0.6.7-1480). > |
Ob Homegear die Homematic Familiy geladen hat, kann mit dem Kommando „families list“ nachgeschaut werden. So sollte es nicht ausschauen:
1 2 3 4 5 6 |
> families list ID │ Name ──────┼─────────────────────────────── 254 │ Miscellaneous ──────┴─────────────────────────────── > |
Ich hatte bei mir vergessen, den deviceType einzukommentieren. Naja jetzt geht es auch:
1 2 3 4 5 6 7 8 |
Connected to Homegear (version 0.6.7-1480). > families list ID │ Name ──────┼─────────────────────────────── 0 │ HomeMatic BidCoS 254 │ Miscellaneous ──────┴─────────────────────────────── > |
Jetzt kann die Homematic Family ausgewählt werden:
1 2 3 4 5 6 7 8 |
$ homegear -r Connected to Homegear (version 0.6.7-1480). > families select 0 Device family "HomeMatic BidCoS" selected. For information about the family's commands type: "help" (Family)> peers list No peers are paired to this central. (Family)> |
So sieht das Ganze aus, wenn noch keine Geräte gepaired sind.
Das Pairen werde ich im nächsten Artikel beschreiben, da mein Raspberry Pi gerade in „Wartung“ ist und ich so nicht auf ihn zugreifen kann.
Da ich alles schnell ausprobieren wollte und ich den Artikel dann drei Tage später aus dem Kopf geschrieben habe (und von meinem Desktop PC aus, aber ohne Raspberry) kann es sein, dass ich was vergessen habe. Bei Fragen helfe ich natürlich gerne.