Historie - warum das alles?
Beginn
Die Motivation
Der Beginn des Ganzen begründete sich schon im Jahre 2010 und mir war nicht klar, was das für Auswirkungen später haben würde. In dem Jahr haben wir unser Haus saniert. Es gab ein neues Dach, Außendämmung, eine neue Heizung, neue Haustür, Fenster und außenliegende Rollos.
Die Homematic-Ära
Die Rollos sollten zu dem Zeitpunkt aber nicht mehr händisch mit einem Gurt hochgezogen werden, sondern irgendwie anders. Nur, was nehmen vor Schreck? So richtig viel gab es zu dem Zeitpunkt nicht und ich bin auf Homematic von ELV gestoßen. Ein Funksystem, das zu dem Zeitpunkt schon ein paar Aktoren und Sensoren im Portfolio hatte.
Also habe ich eine CCU1 (Central Control Unit) beschafft und gleichzeitig 10 Rolladen-Aktoren und ein paar Stromschalt-Aktoren. Ich höre meinen Vater noch immer: "Was ist das für Spielzeug - das wird sich nicht durchsetzen - damit hast du nur Ärger". Wie recht er doch hatte :) Nicht wegen Homematic - aber mit der Arbeit die dann hinten drauf kam. Der Anfang war gemacht.
Steuern konnte man die Geräte nun mit Skripten die direkt auf der CCU, über eine Fernbedienung liefen oder über eine App auf dem iPhone (Pocket Control).
Jahrelang habe ich das dann ruhen lassen - ich fand es funktional, konnte ein paar Lichter (hart an/aus, Dimmer) und eben die Rollos schalten und ich war eine Zeit lang zufrieden. Die CCU wurde von einer CCU 1 auf 2 und irgendwann auf Raspberrymatic erneuert (CCU3) - aber sonst hat sich nicht mehr viel geändert.
Ich will mehr!
Was nun? Wäre es nicht schön noch andere Dinge steuern zu können? Kann man vielleicht sogar sowas über den Amazon Echo steuern? Das wäre ja hartes Science Fiction! Nur wie geht das?
Zu dem Zeitpunkt gab es ein paar aufstrebende Projekte - FHEM, openHAB, ioBroker, etc. und alles sah interessant aus.
ioBroker it is
Ich habe meine Entscheidung auf ioBroker fallen lassen, nachdem ich es mal kurz auf meinem PC installiert habe - nur - der sollte ja nicht die ganze Zeit laufen. Aber wie macht man das sonst? Ich war immer auf der Windows-Schiene unterwegs und habe nur rudimentäre Kenntnisse im Linux-Bereich. Egal. Es wurde ein Raspberry PI angeschafft und ein USB-Stick mit Debian betankt - dieses kleine Ding ist ja auch nur ein PC und bekommt jetzt ein Betriebssystem drauf.
Es werde Licht
Raspberry läuft (Betriebssystem auf einer SD-Karte), ioBroker installiert, läuft.
ioBroker übernimmt als Zentrale
ioBroker als Zentrale
Zuerst wurde der ioBroker mit dem passenden Homematic-Adapter ausgestattet und verbunden. Es war nun möglich die Geräte (Rollos, Lichter) im ioBroker zu sehen und zu steuern. Über Zeit wurden dann die Programme/Trigger aus Homematic übertragen, so dass Homematic nur noch als "Befehlsempfänger" agierte, aber selbst nicht mehr wirklich Zentrale meiner Haussteuerung ist. Das hat der ioBroker übernommen.
Zigbee hält Einzug
Grundsätzlich hat Homematic schon gute Aktoren und ein Vorteil von Homematic ist auch, dass er auf Rückantwort der zu schaltenden Aktoren hört - nur ists schon recht teuer. Andere Hersteller und andere Protokolle fluten den Markt mit einer Vielzahl von günstigeren Geräten. Zigbee an sich ist auch ein Funkprotokoll - aber nicht auf 868 MHz wie Homematic, sondern funkt auf 2,4 GHz (kann sich also mit Wifi stören - also Vorsicht bei der Kanalwahl).
Der Raspberry wurde hier also durch einen Zigbee-Funkstick erweitert, der Zigbee-Adapter installiert und der Stick irgendwie zum laufen gebracht (Firmware auf den Stick, im Gerät bekannt gemacht bzw. im Zigbee-Adapter konfiguriert) und die ersten Geräte angelernt. Auf einmal hatten wir einzelne Zigbee-Birnen, Bewegungsmelder und Sensoren für Temperatur im Einsatz.
Exkurs openHAB
Da ich die Geräte auch schön über eine Oberfläche steuern bzw. anschauen wollte u mir die Möglichkeiten beim ioBroker nicht gefallen haben, habe ich zwischenzeitlich auch mal nach openHAB geschaut und dessen Möglichkeiten eine Zeit lang benutzt. Nichtsdestotrotz war das eine Doppelt-Konfiguration von zwei Haussteuerungs-Zentralen und ich hab das irgendwann wieder eingestellt.
Alexa, fahre alle Rollos hoch
Ich habe verschiedene Integrationen zur Sprachintegration ausprobiert und bin am Ende beim "Original" geblieben. Der IOT-Adapter kostet um die 20 Euro im Jahr, aber tut gleichzeitig auch, was er soll.
kein Backup - kein Mitleid
Verkonfiguriert
Mist. Ich habe etwas gebastelt und jetzt geht der ioBroker nicht mehr. Backup? Ja schon, aber nur auf Applikationsebene. Jetzt gehen die Lichter nicht mehr. Die Rollos bekomme ich noch über Homematic geschaltet - aber sonst ist alles platt. Na toll. Wie bekomme ich das denn jetzt auf die Schnelle hin? Frau sitzt in der Küche im dunkeln...
So gehts nicht weiter
Wenn man von Test-Spielerei auf ein eher benutzbares/produktives Umfeld geht, dann sollte man sich möglichst vorher Gedanken machen, wie man den "Service" erbringt, wie man ihn schützt - und wie man ihn wiederherstellt, sollte er nicht mehr funktionieren.
Zu dem Zeitpunkt habe ich dann angefangen die SD-Karte des Raspberrys zu clonen. Das war natürlich super ineffizient. ioBroker stoppen, Karte raus, Balena Etcher benutzen, um die 32GB-Karte zu sichern, Verify laufen lassen, auf eine andere Karte zurückspielen, ioBroker starten. Der ganze Vorgang hat gerne mal ne Stunde gedauert, wo dann nichts im Haus ging. Zumindest war es aber eine Art von Sicherung, die ab- und zu gemacht wurde und vor einem Totalausfall geschützt hatte - aber auf die Dauer auch nicht praktikabel und recht unbequem.
ioBroker im Docker
erste Virtualisierungsversuche
Das mit den SD-Karten war schon irgendwie doof. Zum einen sind die Karten recht langsam, möchten nicht so gerne viele Lese/Schreibzugriffe und ich kann jetzt auch nicht anfangen anstelle der SD-Karte eine SSD dranzuhängen. Würde dann auch schwer/teuer werden, wenn ich dann anstelle mit SD-Karten mit SSDs zum Backup jongliere.
Docker
ioBroker läuft doch auch im Docker - da hat der User BUANET schon einiges bereit gestellt. Das wollte ich mir anschauen. Also habe ich mir einen kleinen Intel NUC gekauft und da Ubuntu, Docker und ioBroker installiert. Jetzt könnte man doch den Docker-Container wegsichern und wenn was schief geht wieder herstellen. DAS ist doch ne gute Sache. Zu dem Zeitpunkt war mir aber noch nicht klar, dass Docker schön zwischen "dem Programmteil"/Docker-Image und den - sagen wir mal - Nutzdaten/Konfigurationseinstellungen trennt. Man könnte schön sagen: die Installation vom ioBroker liegt auf einem Storage und das Image liegt auf dem Raspberry und er baut sich das beim Containerstart schön zusammen. Hätte man machen können, wäre auch einfacher gewesen - habe ich aber nicht. Also wurde der Docker-Container immer mal gestoppt u alles wegkopiert - auch wieder ein Ausfall u manuell - aber man musste keine SD-Karten jonglieren u es ging auch deutlich schneller. Zudem musste man sich mit dem Rest der Docker-Architektur mal auseinander setzen. Sämtliche Ports der verschiedenen Adapter mussten "aus dem Dockernetzwerk" gereicht werden, Callback-Adressen in den Adaptern konfiguriert werden und so weiter. So war ich definitiv noch nicht am Ziel.
Eines Tages wurde der ioBroker aber zu ressourcenhungrig (habe nun über 50 verschiedene Instanzen laufen) und ich musste auf etwas stärkeres gehen. Dieses Mal aber nicht so halbgar - sondern richtig!






