Endlich geht die lang versprochene Serie weiter. Sorry für den Umstand, aber sicher habt Ihr das Video hier gesehen: Trauriger Zwischenstand
So... jetzt starten wir aber voll durch
Homegear: Kurz zur Planung
Im Ursprung wollte ich, wie ich es auch im produktiven Betrieb habe, eine VM installieren mit Homegear, welches über ein HM-CFG-LAN-Gateway meine Homematic-Geräte steuert. Wie im oben genannten Video zu sehen, waren leider zwei gekaufte Gateways defekt und entschied mich dann für die Kombination mit einem Raspberry Pi und dem Aufsteckmodul HM-MOD-RPI-PCB.
Was unterscheidet jedoch die zwei Wege? Schauen wir uns doch kurz diese Skizze an:
Im Oberen Bereich ist der Zustand, der hier beschrieben wird. Wir müssen also ZWINGEND Homegear auf dem Pi installieren, damit wir das Modul ansteuern können.
Im unteren Bereich der Skizze wird noch ein Beitrag dazu folgen, darin geht es darum, wie ich meine "vorhandene" Homegear-Umgebung (also als VM) nutzen kann um mein LAN-Gateway UND das Modul parallel zu betreiben, sozusagen als Extender um die Reichweite zu vergrößern. Dazu muss das Pi jedoch als "Homegear-Gateway" funktionieren und nicht eigenständig.
Ich beziehe mich also in diesem Beitrag auf den oberen Teil!
Homegear: Raspberry Pi Standardvorbereitungen.
Ich denke, dass Ihr wisst, wie Ihr das Betriebssystem auf die Karte flashen könnt, SSH vorher schon frei schaltet sowie (sofern notwendig) es in WLAN einbindet etc. ansonsten könnt Ihr dies hier nachlesen: Raspberry Pi - Vorbereitung
Ich benutze für dieses Szenario ein B+, was ich noch liegen hatte. Danach gehts ab auf die Console (SSH).
Wie immer: Updaten!
apt update && apt upgrade -y
Ist das Pi soweit fertig, dann geht es auch schon weiter an die Vorbereitungen, die wir für das Modul treffen müssen.
Die Quelle hierzu wäre zwar hier: klick aber hier die Kurzfassung:
Ihr müsst die /boot/cmdline.txt anpassen:
nano /boot/cmdline.txt
Wie auf der Seite beschrieben sollte es so ähnlich aussehen:
dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait
wobei ich ehrlich bin, für mich fehlt da nur am Anfang "console" inkl. Baudrate und der Rest ist glaub gleich, aber ich habe einfach das von der Seite rein kopiert, das was usprunglich in der Config drin war mit einer Raute (#) auskommentiert und hat bei mir damit funktioniert!
In der
nano /boot/config.txt
habe ich alles auskommentiert und folgende Zeilen hinzugefügt
enable_uart=1
dtparam=spi=on
dtparam=i2c_arm=on
Hinweis: Für ein RPi3 musst wohl noch:
dtoverlay=pi3-miniuart-bt
hinzu gefügt werden, was ich jedoch bei meinem B+ nicht benötigt habe!
Zum Schluss müsst Ihr in der
nano /etc/udev/rules.d/99-com.rules
alles auskommentieren, bei dem GPIO drin steht, was bei mir dann so am Ende aussah:
Anschließend ist ein Reboot fällig!
Homegear: Installation
Die Installation ist extrem einfach! Ihr bekommt die Pakete hier: https://homegear.eu/downloads.html
Ich wähle "Stable" in meiner Testumgebung wobei im produktiven Betrieb (in einer VM) auch die Nightly super funktioniert. Anschließend müsst Ihr noch die Plattform auswählen, in meinem Fall Raspberry Pi OS 11.
Anschließend habt Ihr drei Optionen:
- das fertige OS mit Homegear herunter laden, was wir ja gerade manuell machen
- aus dem Repository
- mit dem Installscript
Ich entscheide mich für das Installscript und muss somit nur diese eine Zeile ausführen:
wget -O /tmp/HomegearInstaller.sh https://downloads.homegear.eu/HomegearInstaller.sh && bash /tmp/HomegearInstaller.sh
Damit startet die Installation auch schon und werden kurz darauf durch ein Menü geführt, der erste Step wäre hier die Auswahl der entsprechenden Variante, wir bleiben bei Stable
Gefolgt von den Modulen, die wir installieren wollen, für meinen Zweck benötige ich "Homematic BidCos" wobei ich auch neugierig war einmal die Admin UI zu sehen, welches somit die Möglichkeit bietet Homegear via grafischen Oberfläche zu konfigurieren.
Das war es auch schon, die Installation ist somit durch!
Homegear: Konfiguration
Mein erster Test ist in der Regel die Anmeldung in Homegear via Console aber binden wir doch erst einmal das Modul ein, damit wir was haben, womit wir arbeiten können.
Navigieren wir uns nach:
nano /etc/homegear/families/homematicbidcos.conf
Relativ weit unten findet Ihr den Bereich für das Modul: HM-MOD-RPI-PCB, dort müsst Ihr bei folgenden Sachen die Raute (#) entfernen:
[HomeMatic Wireless Module for Raspberry Pi]
id = My-HM-MOD-RPI-PCB
# Uncomment this if you want the HM-MOD-RPI-PCB to be your default communication module.
#default = true
deviceType = hm-mod-rpi-pcb
device = /dev/ttyAMA0
responseDelay = 95
gpio1 = 18
was dann so ausschaut bei mir:
Danach einfach den Dienst neu starten:
service homegear restart
Homegear: Konfiguration prüfen
Meiner Empfehlung nach würde ich die Console dafür verwenden mit:
homegear -r
Kommt jetzt keine Fehlermeldung, dann könntet Ihr jetzt schon die ersten Geräte anlernen. Machen wir doch zunächst einen Probelauf mit der Admin-UI und tippen die IP-Adresse des PIs im Browser ein, dann sollte es folgend aussehen:
(je nach PI kann es DAUERN!)
Habt Ihr ein Passwort vergeben, dann sollte es nach der Anmeldung so aussehen:
Hier könnt Ihr oben rechts unser installiertes Modul (Homematic-BidCos) sehen und unten links das zuvor eingebundene HM-MOD-RPI-PCB-Modul.
Setzen wir noch eins drauf und schauen uns unter "Inventar --> Gateways" an, ob das Gateway auch verbunden ist. In der Spalte "Verbunden" sollte ein grüner Haken sein.
Homegear: Homematic-Geräte anlernen
Grafische Oberfläche (Admin-UI)
Sooo... jetzt sind wir "fast" durch... jetzt wollen wir natürlich unsere Homematic-Geräte anlernen, hierzu (man glaubt es kaum) gibt es zwei Wege, grafisch oder via Console. Jetzt sind wir schon in der grafischen Oberfläche und begeben uns auf "Inventar --> Geräte" und fügen nun ein neues Gerät hinzu. Natürlich müssen wir erst einmal auswählen um welche "Familie" es sich handelt, über welchen Weg (Gateway) das Gerät angebudnen wird.
Anschließend habt Ihr 60 sek. Zeit um euer Gerät in den Anlernmodus zu versetzen. Am Beispiel meines 8-Kanal-Empfängers müsst Ihr 4 sec. lang den Button 1 drücken!
Tada... das Gerät ist angelernt.
Via Console (SSH):
Offen gestanden, da das Pi nicht gerade performant ist, bevorzuge ich die Console, was jedoch ebenfalls kinderleicht ist.
Melden wir uns doch erst einmal am Homegear an mit:
homegear -r
mit einem "ls" könnt Ihr euch die Families auflisten lassen:
Wir haben ja für die Homematic-Geschichte das Module "Homematic BidCos" installiert und müssen somit dies (auch Familie genannt) mit der ID 0 auswählen mit:
fs 0
Jetzt müssen wir nur noch den Pairing-Modus aktivieren mit:
pon
Danach habt Ihr, wie in der grafischen Oberfläche, 60 sec. Zeit um euer Gerät in den Anlernmodus zu bringen, das sieht dann so aus:
Ist das Gerät angelernt, dann mit mit "ls" euch die Geräte auflisten lassen:
Perfekt (zugegeben, in dem Screen bin ich schon etwas weiter, da der Name schon vergeben ist , aber sollte trotzdem so aussehen)
Homegear: Geräte umbennen
Grafische Oberfläche
Ich glaube hierzu muss ich kaum etwas beschreiben, da es wirklich einfach ist und schon fast selbsterklärend. Hier einfach auf "Inventar --> Geräte" und das entsprechende Gerät auswählen. Hinten (siehe Mauspfeil/-Hand) könnt Ihr den Edit-Button drücken.
Und hier könnt Ihr den Namen ändern. Das war es auch schon.
Via Console (SSH)
Seid Ihr noch angemeldet in Homegear und seid noch in der Familie drin, dann einfach:
pn <ID eures Gerätes> <neuer Name>
siehe hier:
Somit seid Ihr soweit durch.
Homegear: HM-MOD-RPI-PCB Flashen
Ich hatte mir das Gerät gebraucht gekauft und ja, was soll ich sagen, das Ding wurde wohl mal mit RaspberryMatic betrieben und hatte den für mich negativen Effekt, dass eine falsche Firmware installiert war, siehe nachfolgenden Screenshot:
Was war meine Lösung? Da ich jetzt das ursprüngliche Pi nicht umkonfigurieren wollte (ich hätte auch einfach eine andere Micro-SD nehmen können ) so habe ich mir ein 3er Pi genommen, was ich noch liegen hatte, das Modul umgesteckt, ein frisches Raspberry Pi OS installiert und folgende Einstellungen vorgenommen in der: nano /boot/config.txt
enable_uart=1
dtoverlay=pi3-miniuart-bt
core_freq=250
In der nano /boot/cmdline.txt
console=serial0,115200 (entfernen!!!)
Diesen Dienst deaktivieren:
sudo systemctl disable Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein.
Somit ist das Pi soweit vorbereitet.
Flashen von HM-MOD-RPI-PCB: Flashvorgang
apt-get update && apt-get -y install libusb-1.0-0-dev build-essential git
git clone git://git.zerfleddert.de/hmcfgusb
cd hmcfgusb/
make
wget https://raw.githubusercontent.com/eq-3/occu/ee68faf77e42ed5e3641790b43a710a3301cea7e/firmware/HM-MOD-UART/coprocessor_update.eq3
./flash-hmmoduart -U /dev/ttyAMA0 coprocessor_update.eq3
Am Ende sollte das hier zu sehen sein:
Jetzt fahre ich das Pi herunter, Stecke das Modul wieder zurück auf das B+ Pi und schau erneut ins Log und siehe da, es funktioniert
Homegear: Troubleshooting
Halten wir es kurz, wie bin ich auf die falsche Firmware aufmerksam geworden bzw. wie könnt Ihr bei Problemen prüfen, was los ist? Hierzu nutzt Ihr einfach das Homegear log mit z.B.
tail -F /var/log/homegear/homegear.log
Ich vermute mal, dass das auch auf der grafischen Oberfläche funktioniert, aber ich habe mich einfach an die Console gewöhnt und finde es auch so sehr angenehm!
Lässt sich ein Homematic-Gerät nicht anlernen, dann könnte es vllt. auch daran liegen, wie bei mir, dass ich z.B. gebraucht gekauft hatte und es noch auf die fremde Zentrale angemeldet war. Setzt das Gerät einfach zurück und lernt es neu an! In meinem Fall für das 8-Kanal-Empfänger-Modul:
Reset: 4 sec. den Button 1 drücken bis es langsam blinkt, los lassen, sofort erneut 4 sec. drücken bis es schnell blinkt, das wars!
Anlernen: 4 sec. den Button 1 drücken bis es langsam blinkt.
Viel Erfolg beim Nachbauen.