Wie kann an einem Raspberry Pi auf dem openHab unter Debian Jessie läuft, die Homematic Geräte mit einem CUL angebunden werden. Da meine Homatic Geräte alle unter Fhem liefen, musste jedes Gerät resetet und neu gepeert und angelernt (gepairt) werden. Und es soll die Heizung, Brandmelder, Leistungsmesser und die Tür und Fensterkontakte ja laufen, sonnst kommt noch jemand ungebeten ins Haus
Dabei muss man darauf achten, zuerst die Schalter mit den Heizungsventilen zu pairen und dann zum Schluss an die CUL Zentrale pairen. Anders läuf es nicht. Auch ist es wichtig, die für das Betriebssystem richtige Homegeare Version zu installieren.
Folgende Schritte sind nötig:
CUL Flashen
Der CUL von Busware muss mit der aktuellsten Version geflasht werden.
Aktuelle Anleitung culfw und hier die Quellcodes.
Folgendes ist nötig um die Firmware mit dem dfu-programmer upzuladen:
# den Programmierer dfu-programmer installieren apt-get install dfu-programmer # die Firmware laden wget http://culfw.de/culfw-1.61.tar.gz # die Firmware entpacken tar -zxf culfw-1.61.tar.gz # in das Verzeichnis mit der Firmware für den CUL gehen cd /CUL_VER_161/Devices/CUL # und wie weiter unten Flashen # oder Optional # die allerneueste Firmwar aus SVN holen und die dann flashen # dafür brauchen wir Subversion sudo apt-get install subversion # aktuellen Code aus dem trunk holen svn checkout http://svn.code.sf.net/p/culfw/code/trunk culfw-code # in das Verzeichnis wechseln ~/culfw/culfw-code/culfw/Devices/CUL # flashen # CUL vom USB Port trennen und den RESET Schalter drücken und mit gedrückten Schalter verbinden sudo dfu-programmer atmega32u4 erase sudo dfu-programmer atmega32u4 flash CUL_V3.hex sudo dfu-programmer atmega32u4 reset # CUL einmal vom Port trennen und wieder verbinden # checken ob CUL am Port erkannt wird mit lsusb # er muss in der Liste auftauchen # z.B. Atmel Corp. LUFA USB to Serial Adapter Project
Um zu checken ob der CUL überhaupt Daten liefer, kann screen verwendet werden. Das muss erst installier werden mit
sudo apt-get install screen # starten mit screen /dev/ttyACM0 # eingeben eines V und Return um die Version auszugeben # Es wird die Versionsnummer ausgegeben oder aber auch Daten die empfangen werden. # Das ist schon mal gut.
Homegear installieren
Achtung! Es muss die richtige Homegear Version für den Raspberry Pi installiert werden. Ich habe das Debian Jessie und deshalb sind diese Schritte nötig:
sudo wget https://homegear.eu/packages/Release.key & apt-key add Release.key & rm Release.key sudo echo 'deb https://homegear.eu/packages/Debian/ jessie/' >> /etc/apt/sources.list.d/homegear.list sudo apt-get update sudo apt-get upgrade sudo apt-get install homegear # checken ob homegear läuft mit sudo homegear -r # wenn der Prompt > kommt ist alles ok.
Homegear konfigurieren
In der Datei /etc/homegear/physicalinterfaces.conf folgende Einstellungen machen, alle anderen mit # auskommentieren
[HomeMaticBidCoS] id = TW-CUL default = true deviceType = cul device = /dev/ttyACM0 responseDelay = 95
Geräte anlernen an Homegear
Wie hier beschrieben:
sudo homegear -r families select 0 devices select central pairing on # Gerät peeren pairing off # Anschauden ob Gerät in Liste vorhanden peers list # Dann noch einen Namen geben, die ID mit der ID aus der Liste ersetzen peers setname ID "Schalter" # zurück mit u oder hilfe in jedem Menü mit help
Hier mal das Ergebnis der Liste mit ls:
Hier können auch gleich neue Firmware in die Geräte mit pud ID hochgeladen werden. Das ist aber nicht für alle HM-Geräte möglich. Wo es neue Firmware gibt, wird ein * angezeigt.
OpenHab Initialisierung
Addon org.openhab.binding.homematic-1.8.1.jar installieren mit
sudo apt-get install openhab-addon-binding-homematic
Weitere Infos siehe hier oder hier für die Adressen und Parameter.
In der Datei /home/pi/openhab/configurations/openhab.cfg die folgenden Einträge machen (pi-addr durch Adresse des Pis ersetzen):
homematic:host=pi-addr homematic:callback.host=pi-addr homematic:callback.port=9123 homematic:alive.interval=300
Reboot von openHab mit
sudo service openhab restart
Openhab Items anlegen
Hier mal ein Beispiel mit dem Leistungsmesser, die Adresse 333 ersetzen mit der eigenen:
Group gHomematic Number leistungsmesserFrequenz "Frequenz [%.1f Hz]" (gHomematic) {homematic="address=333, channel=2, parameter=FREQUENCY"} Number leistungsmesserSpannung "Spannung [%.1f V]" (gHomematic) {homematic="address=333, channel=2, parameter=VOLTAGE"} Number leistungsmesserStrom "Strom [%.1f mA]" (gHomematic) {homematic="address=333, channel=2, parameter=CURRENT"} Number leistungsmesserLeistung "Leistung [%.1f Watt]" (gHomematic) {homematic="address=333, channel=2, parameter=POWER"} Number leistungsmesserSummeKwh "Summe KWH [%.1f Watt]" (gHomematic) {homematic="address=333, channel=2, parameter=ENERGY_COUNTER"} Switch leistungsmesserSchalten "Status" (gHomematic) {homematic="address=333, channel=1, parameter=STATE"}
Openhab Sitemap anlegen
Diese Sitemap:
Group item=gHomematic label="Leistungsmessung" icon="groundfloor" { Frame label="Leistungsmesser" { Text item=leistungsmesserFrequenz Text item=leistungsmesserSpannung Text item=leistungsmesserStrom Text item=leistungsmesserLeistung Text item=leistungsmesserSummeKwh Switch item=leistungsmesserSchalten } }
Ergebnis:
Oder für die Heizung:
Ähnliche Artikel:
- Wie läuft die Installation von OpenHAB auf einem Raspberry Pi unter Jessie?
- Wie kann OpenHab und eine Demo-Anwendung auf einem Raspberry Pi (Debian) installiert werden?
- Raspberry Pi: Wie können OpenHab Addons installiert werden?