Von openHAB 2 auf openHAB 3 migrieren
Eiko WagenknechtIn diesem Beitrag wird erklärt, wie ihr eure openHAB 2 Installation auf openHAB 3 aktualisiert. Ich zeige hier die Migration durch Parallelinstallation einer neuen openHAB 3 Instanz mit anschließendem Anbinden des alten Systems als Vorbereitung der Übernahme auf das neue System.
Inhaltsverzeichnis
- Version
- Verwendetes Material
- Vorüberlegungen
- Installation der neuen openHAB 3 Instanz
- Verbinden mit dem alten openHAB 2 System
- Fazit
Version
Zum Zeitpunkt des Erscheinens dieses Artikels ist die Version openHAB 3.0 gerade ganz neu erschienen. Solltet ihr das hier später lesen, kann es sein, dass sich mit einer neuen Version etwas geändert hat. Hinterlasst einfach einen Kommentar, ich aktualisiere die Anleitung dann.
Verwendetes Material
- Raspberry Pi (z.B. der Raspberry Pi 4 mit 4GB RAM als Komplettkit. Die 8GB RAM Version macht aktuell noch Probleme und wird nicht empfohlen).
- Eine für den Raspberry Pi geeignete microSD Karte, am besten mit 16GB oder mehr Speicher. Nach zahlreichen Ausfällen günstiger Karten empfehle ich qualitativ hochwertige Karten wie die Samsung PRO Endurance 64GB.
- Kartenleser für die microSD Karte.
Vorüberlegungen
Es ist soweit: Die neue Version openHAB 3.0 ist final erschienen. Damit stellt sich nun die Frage, wie diese in die bestehende Hausinfrastruktur zu integrieren ist. Prinzipiell gibt es zwei Möglichkeiten:
- In-Place Upgrade / Big Bang
- Parallelinstallation und langsame Migration
Während der Betaphase von openHAB 3 habe ich die erste Variante (Big Bang) ausprobiert und nach einem vollständigen Backup der SD Karte testweise meinen Raspberry mit openHAB 2 einfach auf openHAB 3 aktualisiert.
Wenn ihr eine sehr einfache Installation (wenige Bindings etc.) habt, dann kann das gutgehen. Zumindest bei mir und meiner doch eher umfangreichen openHAB Anlage sind dabei allerdings allerlei Probleme aufgetreten, die verdammt schwer zu lokalisieren waren, da alles auf einmal umgestellt ist. Und bis dann erst einmal alles läuft, steht das Haus erst einmal ein paar Tage lang (je nachdem wie viel Zeit ihr habt für die Migration) ohne Automatisierung da, was auch eventuelle Mitbewohner*innen nicht unbedingt erfreut.
Mit dem Erscheinen der finalen Version werde ich daher nun den zweiten Ansatz verfolgen und hier beschreiben: Das Update per Parallelinstallation. Das Prinzip ist ganz einfach: Es wird eine zweite openHAB Instanz aufgebaut und die bestehenden Inhalte werden nach und nach von der alten Version in die neue verlagert und dabei wird nach jedem Schritt getestet, dass immer noch alles funktioniert.
Die openHAB Entwickler haben für dieses Szenario ein sehr nützliches Binding bereitgestellt: Remote openHAB. Damit können zwei (oder mehrere) openHAB Instanzen miteinander verbunden werden. Sollte eine Komponente noch nicht vollständig funktionieren unter openHAB 3 (was bei einem so großen Update immer mal vorkommen kann), dann kann einfach die alte openHAB 2 Instanz hierfür weiter verwendet werden. Auch ganz alte openHAB 1 Bindings (die mit Version 3 nun nicht mehr unterstützt werden) können so weiterverwendet werden.
Einen Nachteil hat die Methode allerdings auch (zumindest wenn ihr openHAB wie ich auf einem Raspberry laufen lasst und nicht per Docker o.ä.): Es wird ein zweiter Raspberry Pi benötigt, da beide Versionen parallel laufen. Erst wenn alles migriert ist, kann dann der alte Raspberry abgeschaltet werden. Wer genug Smarthome Komponenten im Einsatz hat, um eine umfangreichere openHAB Installation zu betreiben, hat aber vermutlich ohnehin immer den ein oder anderen Ersatz-Raspi herumliegen oder die Teile ohnehin schon im Amazon Spar-Abo…
Installation der neuen openHAB 3 Instanz
Wenn ihr also auch diesem Ansatz folgen wollt, dann beginnt alles mit der parallelen Installation einer neuen, frischen openHAB 3 Instanz. Wie das geht, beschreibe ich in diesem Beitrag hier.
Verbinden mit dem alten openHAB 2 System
Um die frische openHAB 3 Installation nun mit der alten openHAB 2 Installation zu verbinden, ist das Remote openHAB Binding auf dem neuen openHAB 3 zu installieren:




Nach der Installation findet sich in der Inbox - die sich jetzt an einem Ort unterhalb der Things befindet - der alte openHAB 2 Server ein und kann übernommen werden:





Anschließend befindet es sich unter Things und die Items des bisherigen openHAB 2 Systems können als Channel dieses Things angesprochen werden:



Die Things aus dem alten openHAB System sind ebenfalls verfügbar und können über einen „Scan” auf dem neu angelegten Remote Thing gefunden werden:



Achtung: Diese so herübersynchronisierten Things enthalten keine Channel. Sie dienen lediglich dazu, den Status der Things sowie die Trigger Channel vom alten openHAB System auf das neue zu synchronisieren, so dass dort dann darauf reagiert werden kann und der Status in der Oberfläche zu sehen ist. Es werden nur die Statuswerte ONLINE, OFFLINE und UNKNOWN unterstützt, alles andere wird ebenfalls als OFFLINE angezeigt. Das sieht beispielsweise so aus:



Item basierte Aktionen müssen über die synchronisierten Items ausgeführt werden, diese spiegeln exakt die Items des alten openHAB Systems wider. Das Anlegen funktioniert im Tab „Channels” des openHAB 2 Things. Im Beispiel unten habe ich die Items vorher per .items Datei angelegt, sie können aber auch bei dem Schritt in der Weboberfläche erstellt werden:



Die Statusevents des Items werden nun synchronisiert und auch das Senden von Befehlen an das Item funktioniert, wie die folgenden Logeinträge zeigen:

Fazit
Damit sind nun die beiden openHAB Systeme verbunden und es können nach und nach die Add-Ons auf dem neuen System eingerichtet und auf dem alten abgeschaltet werden. Da das je nach Haustechnik und Binding recht unterschiedlich abläuft, gehe ich an dieser Stelle nicht weiter darauf ein.
Wenn ihr konkrete Fragen habt, stellt sie mir gerne oder noch besser der allwissenden openHAB Community (Forum).
Ich freue mich über eure Kommentare, ob euch der Beitrag weitergeholfen hat. Schreibt auch gerne, wenn ihr Fragen habt oder etwas unklar geblieben ist. Oder teilt eure Erfahrungen mit, falls ihr aufbauend auf diesem Tipp spannende weitere Automatisierungsprojekte umsetzen konntet.
Keine Kommentare? Kein Problem.
Dieser Blog unterstützt keine Kommentare, aber deine Gedanken und Fragen sind immer willkommen. Du erreichst mich mich über die Kontaktdaten im Footer unten.
Unterstützung
Wenn diese Seite für dich hilfreich war und du dich bei mir bedanken möchtest, dann freue ich mich ganz außerordentlich darüber, wenn du für deinen nächsten Einkauf bei amazon.de über diesen Link gehst. Ich bekomme dann eine kleine Provision, für dich kostet es keinen Cent extra. Wenn du mich lieber anders unterstützen möchtest, findest du hier weitere Möglichkeiten.