IO Broker und Homematic auf Rasbian

  • Beitrags-Autor:
  • Beitrags-Kategorie:Allgemein
  • Beitrags-Kommentare:0 Kommentare

Weil es so ein langer Weg f√ľr mich war, will ich hier meine Erfahrungen einmal niederschreiben… Vielleicht hilft es dem Einen oder Anderen ūüôā

Ich war auf der Suche nach einem System, welches alle meine Smarthome-Ideen zusammenbringt. Der IO-Broker ist daf√ľr schon ein gutes Feature. Er kann mit sehr vielen Endger√§ten arbeiten und bietet selbst auch Scriptm√∂glichkeiten und Programme.

Da ich eine uralte Homematic CCU 1 laufen hatte, und ohnehin einen Raspberry f√ľr eine CCU3 brauchte, habe ich auf ein fertiges Image von IO-Broker mit CCU3 zur√ľckgegriffen. Diese Images laufen zuverl√§ssig und binden die CCU3 in einem Container √ľber eine virtuelle Ethernetschnittstelle ein. So kann man den IO-Broker und die CCU jeweils √ľber eigene IP-Adressen ansprechen aber gleicherma√üen auch miteinander auf einem Raspberry laufen haben. Soweit, so gut…..

Leider sind die Images OHNE ein vollst√§ndiges Rasbian erstellt. Das macht Sinn, wenn man ressourcenschonend nur die Dienste Laufen lassen m√∂chte. F√ľr das Arbeiten mit dem Raspi ist es jedoch nicht ideal.

Mein Ziel ist es n√§mlich, direkt auch einen Monitor mit einer Grafana-Oberfl√§che anschlie√üen zu k√∂nnen und eine Open-Hab-Oberfl√§che darzustellen. Denn wieder einen weiteren Raspian daf√ľr laufen zu haben, macht in meinen Augen keinen Sinn. Am Ende soll alles in einem Magic-Mirrow m√ľnden.

Mein Setting dazu:

  • Erst einen Raspberry mit einem normalem Rasbian aufsetzen
  • Einen Container einrichten und eine PIVCCU 3 installieren und mit einer eigenen IP anbinden
  • Einen IO-Broker aufsetzen
  • Eine Influx-Datenbank installieren
  • Ein Grafana-Frontend einrichten
  • und zu guterletzt ein Open-Hab-Frontend
  • Alles konfigurieren und sch√∂n machen
  • Fertig

Erster Schritt: „Erst einen Raspberry mit einem normalem Rasbian aufsetzen“

Wie das geht, brache ich hier nicht zu beschreiben. Das ist hinreichend gut im Netzdokumentiert ūüėČ – Insbesondere, seitdem es den Raspiloader „Raspberry Pi Imager“ gibt, der verschiedene Systeme in jeweils aktueller Fassung herunterl√§dt und auf einer SD-Karte der Wahl schreibt. Ich rate hier zu einer Karte jenseits der 64GB, da die Datenbanken √ľber die Jahre schon gro√ü werden k√∂nnen.

Zweiter Schritt: „Container einrichten und eine PIVCCU 3 installieren“

Dieser Schritt ist schon etwas schlechter dokumentiert, da es verschiedene Hardware-Varianten gibt, und unterschiedliche Probleme mit Kernel-Versionen. Daher hier meine (deutsche Version) der Anleitung von der Git-Seite der piVCCu

Zuerst die √∂ffentliche Quelle der pivccu im Internet zur Bibliothek hinzuf√ľgen:

wget -q -O - https://www.pivccu.de/piVCCU/public.key | sudo apt-key add 

Dann das Packetverzeichnis angeben. Ich w√§hle hier immer die „stable“-Variante, da ich die Betaversionen nicht in die Haussteuerung bringen m√∂chte.

sudo bash -c 'echo "deb https://www.pivccu.de/piVCCU stable main" > /etc/apt/sources.list.d/pivccu.list'
sudo apt update

GANZ wichtiger Schritt. Das angleichen der Kernel-Versionen. Es kursieren im Netz verschiedene Anleitungen (insbesondere auch deutschsprachige) die diesen Schritt ignorieren. Das kann manchmal klappen, ist aber in der Regel ein Desaster, da verschiedenste Fehler bei den einzelnen Komponeten später auftreten können. Daher:

sudo apt install build-essential bison flex libssl-dev
sudo apt install raspberrypi-kernel-headers pivccu-modules-dkms

Ich benutze das Standard-Funkmodul „HM-MOD-RPI-PCB“ von ELV und nicht das hb-rf-eth-Modul. Wenn ihr das hb-rf benutzt, dann muss daf√ľr das Packet installiert werden. Diese einfach mit apt inst aufnehmen:

sudo apt install hb-rf-eth

Da ich das HM-MOD-RPI-PCB nutze, brauche ich dieses Paket:

sudo apt install pivccu-modules-raspberrypi

und anschließend weisen wie die Pins dem Funkmodul zu:

Dazu den Editor der /boot/config.txt aufrufen:

sudo bash -c 'cat << EOT >> /boot/config.txt

und die nachfolgenden vier Zeilen f√ľr die Pins setzen. Wir legen hier die UART-Schnittstelle fest. Das Ende ist immer EOT`

dtoverlay=pi3-miniuart-bt
enable_uart=1
force_turbo=1
core_freq=250
EOT'

Ebenso muss dann noch die Serielle Schnittstelle aus dem Raspi deaktiviert werden, um das Funkmodul nutzen zu k√∂nnen (sonst kolliediert das). Das ist nur erforderlich, wenn die UART-Pins f√ľr das ELV-Funkmodul benutzt werden.

sudo sed -i /boot/cmdline.txt -e "s/console=serial0,[0-9]\+ //"
sudo sed -i /boot/cmdline.txt -e "s/console=ttyAMA0,[0-9]\+ //"

Als n√§chstes muss die Netzwerkbr√ľcke aus dem Container gef√ľhrt werden.

sudo ip link show | cut -d' ' -f2 | cut -d: -f1 | grep -e '^e.*'

Dazu muss die Konfiguration ge√§ndert werden. Zum einen durch entfernen der DHCP und einf√ľgen der Bridge-Utils:

sudo apt remove dhcpcd5
sudo apt install bridge-utils
sudo bash -c 'cat << EOT > /etc/network/interfaces
source-directory /etc/network/interfaces.d

auto lo
iface lo inet loopback

iface eth0 inet manual

auto br0
iface br0 inet dhcp
  bridge_ports eth0
EOT'

Nach einem Neustart muss dann noch die eigentliche Pivccu installierte werden:

sudo reboot
sudo apt install pivccu3

Um zu schauen, welche Parameter die Installation hat, einfach die Info aufrufen:

sudo pivccu-info

Unter der IP-Adresse (Die sich auch in dem Router oder DHCP-Server finden sollte) ist dan die Homematic erreichbar. Bitte das setzen eines Passwortes nicht vergessen.

Nächster Schritt IO-Broker aufsetzen

Der IO-Broker istalliert sich quasi von allein. Wenn das Rasbian aktuell ist (und wir haben es ja gerade erst gemacht), dann könnt ihr direkt installieren.

Falls ihr auf ein bestehendes System gehen wollt, dann hier schauen, um die korrekte Node-Version zu installieren und die Pakete zu √ľberpr√ľfen.

Die IO-Brokerseite ist da selbsterklärend. Auf der Downloadseite ist die Installationsroutine beschrieben. Zuerst brauchen wir Node.js, da die gesamte IO-Broker-Kiste mit Javascript arbeitet.

curl -sLf https://deb.nodesource.com/setup_12.x | sudo -E bash -
sudo apt-get install -y nodejs

Anschließend können wir ohne Neustart direkt den Broker installieren.

curl -sLf https://iobroker.net/install.sh | bash -

Während der Installation werden einige Abfragen getätigt. Diese nach bestem Wissen und Gewissen beantworten. Nach einem Neustart ist dann der Broker auf dem Port 8081 zu erreichen

http://<IP-Adresse>:8081

Der IO-Broker ist automatisch als Dienst gestartet und f√§hrt auch beim Neustart gleich mit hoch. √úber die Konsole der Wahl kann der Broker ggf. gestoppt, gestartet und √ľberpr√ľft werden. Bei einigen Updates ist dies erforderlich. Hier die wichtigsten Befehle dazu

  • iobroker stop
  • iobroker start
  • iobroker restart
  • iobroker status

Beim ersten √Ėffnen durchl√§uft das Web-Frontend mit dir einige Einstellungen zum Standort und zu Standards. Dabei kann auch nach erforderlichen Adaptern gesucht werden.

Im IO-Broker sind Adapter quasi Plugins, die die Verbindung zu Drittanbieterelementen aufbauen und dann die Datenpunkte im IO-Broker darstellen. Die Homematic-Adapter (es sind mehrere) bestehen immer auf einem Adapter f√ľr die „Maschine“, also die Logic der Homematic und mehreren weitere Adapter zu den Kommunikations-Schnittstellen der Homematic. Diese Gliedern sich haupts√§chlich in

  • Homematic IP
  • Homematic RF
  • Homematic Wired
  • Virtuelle Ger√§te

Jede Anschlussart an der Homematic muss erst als HM-RPC-Instanz in IO-Broker angelegt werden und danach in der HM-REGA verkn√ľpft werden.

Wenn ihr (so wie ich) noch eine alte Homematic 1 parallel laufen habt, dann braucht ihr auch f√ľr diese zus√§tzlich erst die HM-RPCs und dann eine weitere HM-Rega.

Die Einstellungen sind selbsterklärend.

INFLUX

Der IO-Broker kann mit mehreren verschiedenen Datenbanksystemen gleichzeitig arbeiten. Das kann Sinn machen, wenn man z.B. mit einem externen Rechner bestimmte Datenbanken auslesen m√∂chte. Die IO-Broker-eigene Datenbank „History“ ist in den Adaptern sehr weit verbreitet. Jedoch steht die Influx-Datenbank dieser kaum in Sachen Verbreitung nach.

Ich nutze die Influx gern, weil sie so sch√∂n einfach auswertungen √ľber definierte Zeitr√§ume auch in der Konsole ausgeben kann. Au√üerdem kann GRAFANA auf Influx-Datenbanken zugreifen und die Konfiguration ist denkbar einfach.

Der Adapter Influx-Datenbank installiert die Datenbank und stellt diese dann f√ľr die Datenpunkte (beim IO-Broker werden Datenpunkte „Objekte“ genannt) bereit.

GRAFANA einbinden

Grafana kann nicht als Plugin, Webfrontend, oder √Ąhnlliches aus dem IO-Broker installiert werden, sondern wird direkt auf einem Rasbian installiert.

Die Installation auf der „Tutorial-Seite“ der Grafana ist selbsterkl√§rend, aber ich fasse es hier trotzdem mal zusammen:

Zuerst wieder den APt-Key hinzuf√ľgen, damit die Quelle bekannt ist:

wget -q -O - https://packages.grafana.com/gpg.key | sudo apt-key add -

Dann die Quelle aktualisieren.

echo "deb https://packages.grafana.com/oss/deb stable main" | sudo tee -a /etc/apt/sources.list.d/grafana.list

Jetzt Grafana installieren, indem das Apt-Get-Update aufgerufen wird:

sudo apt-get update
sudo apt-get install -y grafana

Grafana hat einen eigenen Web-Server, der auf Port 3000 erreichbar ist. Diesen Server aktiviert man mit:

sudo /bin/systemctl enable grafana-server

Starten get dann √ľber:

sudo /bin/systemctl start grafana-server

Herzlichen Gl√ľckwunsch… JETZT steht dem Smarthome nichts mehr im Wege.

Ich habe mittlerweile knapp 50 Endger√§te eingebunden und visualisiert. Als Frontend nutze ich die Oberfl√§che des Openhabian (Open-Hab) Open-Hab, die als Adapter im IO-Broker vorhanden ist. Diese ist sch√∂n einfach aufzusetzen, schlicht in der Optik und kann (√ľber Umwege) auch Responsiv eingerichtet werden.
Wer es flexibler mag, kann die „VIS“-Visualisierung nutzen. Diese ist wesentlich aufwendiger in der Einrichtung, kann aber individueller gestaltet werden. Als Darstellung von Grafen und Daten dient dann das Plugin „Flot“, welches dann einen Link erzeugt, der in VIS eingebunden werden kann.

Alles in Allem ist die Kombination aus IO-Broker, Homematic und dem vollständigen Rasbian-OS eine echt tolle Lösung, die einem Privatmann alles bietet, was erbraucht.

Schreibe einen Kommentar

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr dar√ľber, wie deine Kommentardaten verarbeitet werden.