Kategorien
Haustechnik

Von openHAB 2 auf openHAB 3 migrieren

In 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.

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 / Lizenzen

  • Raspberry Pi  (z.B. der Raspberry Pi 4 mit 4GB RAM bei amazon.de als Komplettkit, ca. 95 EUR. 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. Alleine 2020 habe ich 5 günstige Karten wegen Schreib-/ Lesefehlern verloren und verwende nun nur noch die Samsung PRO Endurance 64GB (z.B. bei amazon.de, ca. 14 EUR).
  • Kartenleser für die microSD Karte (z.B. Transcend TS-RDF9K2 bei amazon.de, ca. 14 EUR).

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 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) dumm 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 Szeenario 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änstä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 den Things sowie die Trifgger 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 wieder. 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 Senden von Befehlen an das Item funktioniert wie die folgenden Logeinträge zeigen:

Schlusswort

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, stelle 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 doch etwas unklar geblieben ist. Oder wenn ihr aufbauend darauf spannende weitere Automatisierungs-Projekte umsetzen konntet 🙂

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 mir lieber direkt etwas zukommen lassen möchtest, dann kannst du das hier.

Eine Antwort auf „Von openHAB 2 auf openHAB 3 migrieren“

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

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