openHAB Migrationen

Für welche Projekte verwendet Ihr OpenHAB? Was habt Ihr automatisiert? Stellt eure Projekte hier vor.

Moderatoren: Cyrelian, seppy

Antworten
Michdo93
Beiträge: 54
Registriert: 6. Jul 2021 13:39
Answers: 1

openHAB Migrationen

Beitrag von Michdo93 »

openHAB Migrationen

Vorwort

Ich schreibe dies als Projekte, weil ich schon verschiedene Fragen (zumindest in der englischen Community) gelesen habe, wie man openHAB auf einen anderen Server migriert oder wie man openHAB 2 auf openHAB 3 migriert.

Ich beschreibe hier die unterschiedlichen Vorgehensweise von
  • openHAB 2 auf einen anderen Server migrieren
  • openHAB 3 auf einen anderen Server migrieren
  • openHAB 2 auf openHAB 3 migrieren
Migrationen von openHAB 1 zu openHAB 2 lasse ich weg, genauso wie Migrationen von openHAB 1 zu openHAB 3. Die Beispiele beziehen sich auf eine Linux-Installation (in meinem Fall Ubuntu). Was funktioniert ist openHAB von bspw. Raspbian auf Ubuntu zu migrieren. Den Anwendungsfall Windows zu Linux und umgekehrt werde ich hier nicht näher erläutern. Auch betrachte ich nicht die Migration von openHABian, welches an für sich eine Stufe leichter ist.

Allgemeine Vorgehensweise

Das Prinzip ist immer dasselbe:
  • Backup des alten openHAB-Systems erstellen
  • Java installieren oder upgraden
  • Neues openHAB-System installieren
  • Konfigurationen rüber kopieren
Anmerkung: Bei der Migration von openHAB 2 auf openHAB 3 in einem System spart man sich das rüber kopieren der Konfigurationen, indem man openHAB 3 installiert ohne openHAB 2 vorher zu deinstallieren.

Empfehlung: Das ganze in Testumgebung und Liveumgebung unterscheiden. Also die alte openHAB-Instanz normal weiterlaufen lassen, sodass man sein Smart Home System noch nutzen kann. Dann bspw. eine virtuelle Maschine installieren und den alten Zustand erst einmal rüber kopieren. Dies wäre also der Schritt openHAB auf einen anderen Server migrieren. Wenn ihr nun openHAB 2 auf openHAB 3 migriert, seht ihr auch mögliche Fehler, die ihr ausmerzen könnt, ohne später euer Livesystem zu zerstören.

openHAB 2 auf anderen Server migrieren

Den neuen Server starten und soweit einrichten. Anschließend Zulu Java 8 installieren:

Code: Alles auswählen

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 0xB1998361219BD9C9
sudo apt-add-repository 'deb http://repos.azulsystems.com/ubuntu stable main'
sudo apt-get update
sudo apt-get install zulu-8
Dann fügt ihr die Umgebungsvariable hinzu:

Code: Alles auswählen

sudo nano /etc/environment
JAVA_HOME="/usr/lib/jvm/zulu-8-amd64"
source /etc/environment
Anschließend die eigentliche openHAB 2 Installation durchführen:

Code: Alles auswählen

wget -qO - 'https://openhab.jfrog.io/artifactory/api/gpg/key/public' | sudo apt-key add –
echo 'deb https://openhab.jfrog.io/artifactory/openhab-linuxpkg stable main' | sudo tee /etc/apt/sources.list.d/openhab.list
sudo apt-get update
sudo apt-get install openhab2
sudo apt-get install openhab2-addons
Ihr öffnet nun im Webbrowser die URL

Code: Alles auswählen

http://localhost:8080/start/index
und wählt dort bei Installation bspw. das "Expert"-Package und installiert openHAB 2 entsprechend.

Solltet ihr für MQTT den Mosquitto-Broker ebenfalls migrieren wollen, dann installiert ihr diesen ebenfalls neu:

Code: Alles auswählen

sudo apt-add-repository ppa:mosquitto-dev/mosquitto-ppa 
sudo apt-get update 
sudo apt-get install mosquitto 
sudo apt-get install mosquitto-clients
Für die Migration müsst ihr Daten vom alten Server auf den neuen Server kopieren. Ich verwende hierfür scp. Dazu müsst ihr einen SSH-Server und -Client installiert haben. Beides kann man in Linux wie folgt installieren:

Code: Alles auswählen

sudo apt install openssh-server
Hierbei sollte beides auf beiden Servern installiert sein, damit man gegenseitig aufeinander zugreifen kann. Der Befehl scp greift unter Umständen nur auf den anderen Server zu, wenn ihr euch per SSH bereits mit ihm mal verbunden hattet. Um zu überprüfen, dass SSH funktioniert, gebt ihr im Terminal folgendes ein:

Code: Alles auswählen

ssh <user>@ip
Ihr werdet gefragt, ob ihr den Key Fingerprint hinzufügen wollt und antwortet mit yes.

Weitere Angaben sparen wir uns an dieser Stelle. Wie ihr dies mit Known_Hosts, Private und Public Key genau löst, ist euch unterlassen. Unter Umständen könnte es auch sein, dass man den alten Key Fingerprint löschen und einen neuen hinzufügen muss.

Mosquitto könnt ihr über scp wie folgt migrieren:

Code: Alles auswählen

sudo scp -r <user>@<ip>:/etc/mosquitto/ /etc/
In diesem Fall seid ihr auf dem neuen openHAB-Server und greift auf den alten zu.

Um openHAB zu "clonen" könnt ihr im einfachsten Fall das erstellte Backup rüberkopieren.

Ihr öffnet auf dem alten Server ein Terminal und erstellt das Backup mit:

Code: Alles auswählen

sudo openhab-cli backup
Das Backup wird in der Regel in /var/lib/openhab2/backups abgelegt. Ansonsten seht ihr in der Terminal-Ausgabe, wohin das Backup gespeichert ist.

In einem Terminal auf dem neuen openHAB-Server kopiert ihr zunächst das Backup und führt dieses aus:

Code: Alles auswählen

sudo scp -r <user>@<ip>:/var/lib/openhab2/backups /var/lib/openhab2
sudo openhab-cli restore /var/lib/openhab2/backups/filename.zip
Geht ihr nicht über das Backup, so könnt ihr folgendes durchführen:

Code: Alles auswählen

sudo scp -r <user>@<ip>:/etc/openhab2/ /etc/
sudo scp -r <user>@<ip>:/usr/share/openhab2/addons/ /usr/share/openhab2
sudo scp -r <user>@<ip>:/etc/default/openhab2 /etc/default/openhab2
sudo scp -r <user>@<ip>:/var/lib/openhab2 /var/lib
  • In /etc/openhab2/ befinden sich alle eure alten Konfigurationen wie Things, Sitemaps, Items usw.
  • In /usr/share/openhab2/addons/ befinden sich unter Umständen manuell instalierte Add-ons oder wenn ihr ausgestellt habt, dass nach jedem Neustart von openHAB die Add-ons neu installiert werden sollen, gewisse .kar- oder .jar-Dateien
  • In /etc/default/openhab2 sind bspw. Konfigurationen wie EXTRA_JAVA_OPTS abgelegt für meinetwegen zWave, Cross-Komplirierung, HTTP/S-Port etc.
  • In /var/lib/openhab2/ befinden sich unter anderem Referenzen zu installierten Add-ons, evtl. wichtige Inhalte die sich im Cache befinden oder bspw. Things und Rules, die nicht über Dateien sondern in PaperUI erstellt wurden.
Als nächstes müsst ihr openHAB nur noch starten. Am besten in dem ihr den Cache leert und noch einmal entsprechend neulädt, damit die Items auch vollständig geladen werden können:

Code: Alles auswählen

sudo systemctl stop openhab2.service
sudo rm -r /var/lib/openhab2/tmp/*
sudo rm -r /var/lib/openhab2/cache/*
sudo systemctl start openhab2.service
sudo systemctl restart openhab2.service
sudo systemctl restart openhab2.service
openHAB 3 auf anderen Server migrieren

Vom Prinzip her wie bei openHAB 2, nur dass anstelle von openhab2 dann openhab im Pfad verwendet wird. Außerdem muss Zulu Java 11 anstelle von Zulu Java 8 installiert werden und logischerweise openHAB 3 anstelle von openHAB 2.

Den neuen Server starten und soweit einrichten. Anschließend Zulu Java 11 installieren:

Code: Alles auswählen

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 0xB1998361219BD9C9
sudo apt-add-repository 'deb http://repos.azulsystems.com/ubuntu stable main'
sudo apt-get update
sudo apt-get install zulu-11

Code: Alles auswählen

sudo nano /etc/environment
JAVA_HOME="/usr/lib/jvm/zulu-8-amd64"
source /etc/environment
Anschließend die eigentliche openHAB 3 Installation durchführen:

Code: Alles auswählen

wget -qO - 'https://openhab.jfrog.io/artifactory/api/gpg/key/public' | sudo apt-key add –
echo 'deb https://openhab.jfrog.io/artifactory/openhab-linuxpkg stable main' | sudo tee /etc/apt/sources.list.d/openhab.list
sudo apt-get update
sudo apt-get install openhab
sudo apt-get install openhab-addons
Ihr öffnet nun im Webbrowser die URL

Code: Alles auswählen

http://localhost:8080/
und führt die Installationsanweisung entsprechend durch.

Solltet ihr für MQTT den Mosquitto-Broker ebenfalls migrieren wollen, dann installiert ihr diesen ebenfalls neu:

Code: Alles auswählen

sudo apt-add-repository ppa:mosquitto-dev/mosquitto-ppa 
sudo apt-get update 
sudo apt-get install mosquitto 
sudo apt-get install mosquitto-clients
Für die Migration müsst ihr Daten vom alten Server auf den neuen Server kopieren. Ich verwende hierfür scp. Dazu müsst ihr einen SSH-Server und -Client installiert haben. Beides kann man in Linux wie folgt installieren:

Code: Alles auswählen

sudo apt install openssh-server
Hierbei sollte beides auf beiden Servern installiert sein, damit man gegenseitig aufeinander zugreifen kann. Der Befehl scp greift unter Umständen nur auf den anderen Server zu, wenn ihr euch per SSH bereits mit ihm mal verbunden hattet. Um zu überprüfen, dass SSH funktioniert, gebt ihr im Terminal folgendes ein:

Code: Alles auswählen

ssh <user>@ip
Ihr werdet gefragt, ob ihr den Key Fingerprint hinzufügen wollt und antwortet mit yes.

Weitere Angaben sparen wir uns an dieser Stelle. Wie ihr dies mit Known_Hosts, Private und Public Key genau löst, ist euch unterlassen. Unter Umständen könnte es auch sein, dass man den alten Key Fingerprint löschen und einen neuen hinzufügen muss.

Mosquitto könnt ihr über scp wie folgt migrieren:

Code: Alles auswählen

sudo scp -r <user>@<ip>:/etc/mosquitto/ /etc/
In diesem Fall seid ihr auf dem neuen openHAB-Server und greift auf den alten zu.

Um openHAB zu "clonen" könnt ihr im einfachsten Fall das erstellte Backup rüberkopieren.

Ihr öffnet auf dem alten Server ein Terminal und erstellt das Backup mit:

Code: Alles auswählen

sudo openhab-cli backup
Das Backup wird in der Regel in /var/lib/openhab/backups abgelegt. Ansonsten seht ihr in der Terminal-Ausgabe, wohin das Backup gespeichert ist.

In einem Terminal auf dem neuen openHAB-Server kopiert ihr zunächst das Backup und führt dieses aus:

Code: Alles auswählen

sudo scp -r <user>@<ip>:/var/lib/openhab/backups /var/lib/openhab
sudo openhab-cli restore /var/lib/openhab/backups/filename.zip
Geht ihr nicht über das Backup, so könnt ihr folgendes durchführen:

Code: Alles auswählen

sudo scp -r <user>@<ip>:/etc/openhab/ /etc/
sudo scp -r <user>@<ip>:/usr/share/openhab/addons/ /usr/share/openhab2
sudo scp -r <user>@<ip>:/etc/default/openhab /etc/default/openhab2
sudo scp -r <user>@<ip>:/var/lib/openhab /var/lib
  • In /etc/openhab/ befinden sich alle eure alten Konfigurationen wie Things, Sitemaps, Items usw.
  • In /usr/share/openhab/addons/ befinden sich unter Umständen manuell instalierte Add-ons oder wenn ihr ausgestellt habt, dass nach jedem Neustart von openHAB die Add-ons neu installiert werden sollen, gewisse .kar- oder .jar-Dateien
  • In /etc/default/openhab sind bspw. Konfigurationen wie EXTRA_JAVA_OPTS abgelegt für meinetwegen zWave, Cross-Komplirierung, HTTP/S-Port etc.
  • In /var/lib/openhab/ befinden sich unter anderem Referenzen zu installierten Add-ons, evtl. wichtige Inhalte die sich im Cache befinden oder bspw. Things und Rules, die nicht über Dateien sondern in PaperUI erstellt wurden.
Als nächstes müsst ihr openHAB nur noch starten. Am besten in dem ihr den Cache leert und noch einmal entsprechend neulädt, damit die Items auch vollständig geladen werden können:

Code: Alles auswählen

sudo systemctl stop openhab2.service
sudo rm -r /var/lib/openhab2/tmp/*
sudo rm -r /var/lib/openhab2/cache/*
sudo systemctl start openhab2.service
sudo systemctl restart openhab2.service
sudo systemctl restart openhab2.service

Code: Alles auswählen

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 0xB1998361219BD9C9
sudo apt-add-repository 'deb http://repos.azulsystems.com/ubuntu stable main'
sudo apt-get update
sudo apt-get install zulu-11
openHAB 2 auf openHAB 3 migrieren

Unter Umständen macht es auch hier Sinn ein Backup zu erstellen. Muss aber nicht zwingend gemacht werden. Für die Migration selbst benötigt man kein Backup, sondern es werden aus den bisherigen Verzeichnissen die Daten direkt migriert. Das Tool scp kommt also ebenfalls nicht zum Einsatz. Ansonsten muss Java 8 auf Java 11 geupgraded werden.

Der wohl wichtigste Migrations-Hinweis an dieser Stelle ist:

Das System fragt Sie, ob Sie openhab2 als Teil davon entfernen möchten, und Sie sollten mit "y" antworten. Nachdem die Installation fortgesetzt wurde, werden Sie gewarnt, dass mehrere Ihrer Konfigurationsdateien neuere Versionen haben. Meistens sollte Ihre Antwort darauf "ja" sein, um die Versionen des Maintainers zu installieren, notieren Sie sich, welche Dateien das sind, da das Installationsprogramm sie am gleichen Ort als ".old"-Dateien speichert, wenn Sie etwas Bestimmtes rüberkopieren wollen.
Sie können übrig gebliebene openHAB2-Konfigurationsdateien loswerden, indem Sie den Befehl sudo apt purge openhab2 verwenden, aber dadurch wird auch der openhab-Benutzer los, um dieses Problem zu beheben, sollten Sie dies mit befolgen.


Kurz zusammengefasst: Deinstalliert ihr openHAB 2 bevor ihr openHAB 3 installiert, müsst ihr die Daten selbst wieder einfügen zum Migrieren. Installiert ihr openHAB 3, während openHAB 2 noch installiert ist, werden die Daten automatisch migriert. Nach der Installation von openHAB 3 könnt ihr dann openHAB 2 entfernen. Letzteres ist der viel angenehmere und einfachere Weg der Migration.

Wir beginnen, in dem wir Java Zulu upgraden:

Code: Alles auswählen

sudo systemctl stop openhab2.service
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 0xB1998361219BD9C9
Der apt-key müsste uns im Idealfall unchangend zurückmelden, da dies bei Zulu Java 8 schon gemacht wurde und für Zulu Java 11 ebenso gilt. Im nächsten Schritt fügen wir entfernen wir vollständig Zulu Java 8 und alle Reste und installieren Zulu Java 11:

Code: Alles auswählen

sudo apt-add-repository 'deb http://repos.azulsystems.com/ubuntu stable main'
sudo apt update
sudo apt purge zulu-8
sudo apt autoremove
sudo apt install zulu-11
Wenn wir nun die Java-Version checken kann es sein, dass wir bereits folgendes erhalten:

Code: Alles auswählen

java -version
openjdk version "11.0.8" 2020-07-14 LTS
OpenJDK Runtime Environment Zulu11.41+23-CA (build 11.0.8+10-LTS)
OpenJDK 64-Bit Server VM Zulu11.41+23-CA (build 11.0.8+10-LTS, mixed mode)
Wir fügen die Umgebungsvariable vür Zulu Java 11 hinzu:

Code: Alles auswählen

sudo nano /etc/environment
JAVA_HOME="/usr/lib/jvm/zulu-11-amd64"
source /etc/environment
Vielleicht macht es Sinn Zulu Java 11 noch auf die neuste Version zu upgraden:

Code: Alles auswählen

sudo apt-get --only-upgrade install zulu-11
Starten wir jetzt noch einmal openHAB 2, würden wir feststellen, dass openHAB 2 auch mit Zulu 11 laufen würde.

Im nächsten Schritt installieren wir openHAB 3:

Code: Alles auswählen

wget -qO - 'https://openhab.jfrog.io/artifactory/api/gpg/key/public' | sudo apt-key add -
OK
Müsste aufgrund von openHAB 2 bereits gesetzt sein.

Code: Alles auswählen

sudo apt-get install apt-transport-https
Müsste aufgrund von openHAB 2 bereits installiert sein.

Sollte in openHAB 2 die Source-Liste für Apt nicht geupdatet sein, könnt ihr per Kommandozeile dies prüfen:

Code: Alles auswählen

cat /etc/apt/sources.list.d/openhab.list
Löschen könnt ihr dies mit:

Code: Alles auswählen

sudo rm -r /etc/apt/sources.list.d/openhab.list
Und neu setzen mit:

Code: Alles auswählen

echo 'deb https://openhab.jfrog.io/artifactory/openhab-linuxpkg stable main' | sudo tee /etc/apt/sources.list.d/openhab.list
Kann sein, dass aufgrund der alten openHAB 2 Installation dies noch nachgezogen werden muss. Dann hattet ihr aber vermutlich auch länger keine openHAB 2 Updates.

Ihr fahrt dann mit der eigentlichen openHAB 3 Installation fort:

Code: Alles auswählen

sudo apt update
sudo apt install openhab
Ihr werdet unter Umständen gefragt, ob ihr Zulu 11 entfernen wollt oder solltet ihr Zulu 8 nicht vorher auf Zulu 11 geupgraded haben entsprechend ob ihr Zulu 8 entfernen wollt. Außerdem wird darüber informiert das openhab2 und openhab2-addons entfernt wird. Ihr bestätigt mit "y".

Danach werdet ihr gefragt, welche Konfigurationen genutzt werden sollen. Euere alten oder neue etc. Dies sieht bspw wie folgt aus:

Code: Alles auswählen

Configuration file '/etc/openhab/services/addons.cfg'
 ==> File on system created by you or by a script.
 ==> File also in package provided by package maintainer.
   What would you like to do about it ?  Your options are:
    Y or I  : install the package maintainer's version
    N or O  : keep your currently-installed version
      D     : show the differences between the versions
      Z     : start a shell to examine the situation
 The default action is to keep your current version.
*** addons.cfg (Y/I/N/O/D/Z) [default=N] ? 
Dies ist der Migrations-Prozess. Ihr könnt Enter eingeben, n oder N, um die alten Dten auf das neue openHAB 3 zu migrieren. Ihr könnt dies für alle Fragen gleich tun oder wahlweise entsprechend entscheiden, was verworfen werden soll und was nicht.

Solltet ihr danach Schwierigkeiten haben openHAB 3 zu starten, weil er noch openHAB 2 irgendwie erkennt, könnt ihr es manuell vollständig entfernen:

Code: Alles auswählen

sudo apt purge openhab2
sudo apt autoremove
Den Ownership müsst ihr für openhab wiederherstellen, bedeutet alle Dateien werden openhab:openhab zugeordnet. Also Benutzer und Gruppe openhab:

Code: Alles auswählen

sudo apt install --reinstall openhab
sudo openhab-cli reset-ownership
Im letzten Schritt installiert ihr die openHAB 3 Addons:

Code: Alles auswählen

sudo apt install openhab-addons
Nach einem erfolgreichen Update können Sie Befehle wie sudo systemctl start openhab (beachten Sie die fehlende 2 am Ende) sofort verwenden, aber openhab-cli wird sich über Pfadfehler beschweren, bis Sie Ihre Shell-Sitzung neu starten (z. B. durch Ab- und Anmelden).

Mit noch installiertem openhab2

Code: Alles auswählen

sudo systemctl start openhab
openhabvm@ubuntu:~$ sudo systemctl status openhab
● openhab.service - openHAB - empowering the smart home
     Loaded: loaded (/usr/lib/systemd/system/openhab.service; disabled; vendor >
     Active: active (running) since Tue 2021-07-06 00:29:49 PDT; 5s ago
       Docs: https://www.openhab.org/docs/
             https://community.openhab.org
   Main PID: 30248 (java)
      Tasks: 27 (limit: 4620)
     Memory: 89.7M
     CGroup: /system.slice/openhab.service
             └─30248 /usr/bin/java -XX:-UsePerfData -Dopenhab.home=/usr/share/o>

Jul 06 00:29:49 ubuntu systemd[1]: Started openHAB - empowering the smart home.
Als nächstes öffnet ihr http://localhost:8080 und erstellt euer Admin-Konto, fügt die Sprache, Zeitzone etc. hinzu. Führt also den Setup-Assisten voll durch.

Unter

Code: Alles auswählen

http://localhost:8080/settings/
könnt ihr die Installation prüfen:
  • Settings --> Bindings --> ... Add-ons installed
  • Settings --> Items --> ... Items vorhanden
  • Settings --> Rules --> ... Rules vorhanden
  • ...
Die Sitemap findet ihr unter Umständen in dem ihr auf Admin klickt und dort oben Rechts auf Apps und dann BasicUI (http://localhost:8080/basicui/app)

Als nächstes öffnen wir die Karaf-Konsole:

Code: Alles auswählen

ssh -p 8101 openhab@localhost
pw: habopen (in der Regel)
Und schauen uns die Logs an. Dort seht ihr bspw.:

Code: Alles auswählen

openhab> log:tail
01:11:28.557 [ERROR] [.core.karaf.internal.FeatureInstaller] - Failed installing 'openhab-package-expert': No matching features for openhab-package-expert/0
01:11:28.559 [WARN ] [.core.karaf.internal.FeatureInstaller] - The binding add-on 'mqtt1' does not exist - ignoring it.
01:11:28.561 [WARN ] [.core.karaf.internal.FeatureInstaller] - The binding add-on 'caldav-personal1' does not exist - ignoring it.
01:11:28.561 [WARN ] [.core.karaf.internal.FeatureInstaller] - The binding add-on 'wol1' does not exist - ignoring it.
01:11:28.562 [WARN ] [.core.karaf.internal.FeatureInstaller] - The binding add-on 'http1' does not exist - ignoring it.
01:11:28.563 [WARN ] [.core.karaf.internal.FeatureInstaller] - The binding add-on 'exec1' does not exist - ignoring it.
01:11:28.563 [WARN ] [.core.karaf.internal.FeatureInstaller] - The binding add-on 'weather1' does not exist - ignoring it.
01:11:28.564 [WARN ] [.core.karaf.internal.FeatureInstaller] - The binding add-on 'caldav-command1' does not exist - ignoring it.
01:11:28.566 [WARN ] [.core.karaf.internal.FeatureInstaller] - The misc add-on 'ruleengine' does not exist - ignoring it.
01:11:28.573 [WARN ] [.core.karaf.internal.FeatureInstaller] - The ui add-on 'dashboard' does not exist - ignoring it.
01:11:28.574 [WARN ] [.core.karaf.internal.FeatureInstaller] - The ui add-on 'restdocs' does not exist - ignoring it.
01:11:28.575 [WARN ] [.core.karaf.internal.FeatureInstaller] - The ui add-on 'classic' does not exist - ignoring it.
01:11:28.576 [WARN ] [.core.karaf.internal.FeatureInstaller] - The ui add-on 'habmin' does not exist - ignoring it.
01:11:28.576 [WARN ] [.core.karaf.internal.FeatureInstaller] - The ui add-on 'paper' does not exist - ignoring it.
Nahezu alle openHAB 2 Add-ons sollten bis auf wenige Ausnahmen für openHAB 3 installiert worden sein. Bedeutet deren Things und die zugehörigen Items funktionieren in openHAB 3. Add-ons die nicht installiert werden können, befinden sich immer noch in Konfigurationsdateien und werden folglich in den Logs angezeigt, dass sie nicht installiert werden können. In diesem Fall fallen einige User Interfaces und die openHAB 1.x Legacy Bindings vollständig weg.

Anmerkung: openHAB 3 unterstütz keine 1.x Bindings mehr!

Ihr überprüft unbedingt die /etc/default/openhab-Datei. Dort steht eventuell:

Code: Alles auswählen

EXTRA_JAVA_OPTS=""
Blöd, wenn ihr vorher andere Dinge konfiguriert hattet! Ein Beispiel wäre eventuell:

Code: Alles auswählen

EXTRA_JAVA_OPTS="-Xms1024m -Xmx1536m -XX:+HeapDumpOnOutOfMemoryError -Xbootclasspath/a:/etc/openhab/automation/jython/jython-standalone-2.7.0.jar -Dpython.home=/etc/openhab/automation/jython -Dpython.path=/etc/openhab/automation/lib/python"
Hierzu gleich die Anmerkung. Habt ihr Jython 2.7.0 installiert, könnt ihr dies gleich wieder entfernen. Jython 2.7.0 läuft unter Zulu 8, aber nicht mehr unter Zulu 11. Ihr müsstet also die Zeile anpassen und die Standalone-Jar-Datei für Jython 2.7.1 oder Jython 2.7.2 herunterladen.

Auch etwas, was oft eingetragen wird, wäre bspw. für zWave:

Code: Alles auswählen

EXTRA_JAVA_OPTS="-Dgnu.io.rxtx.SerialPorts=/dev/ttyACM0"
oder entsprechend wo ihr die Device-Knoten ausfindig gemacht habt!

Anmerkung: Ein sudo usermod -a -G dialout openhab entfällt hierbei, weil dies ja bereits unter openHAB 2 gemacht wurde.

Anmerkungen

Wer ein bisschen versteht, wie das openHAB-System aufgebaut ist und welche Dateien sich wo befinden und welche Konfigurationen, für den ändert sich eigentlich am Ende nur das Frontend und dass die 2 im Pfad verschwindet, ansonsten sind alle Migrationen eigentlich genau gleich!

Benutzeravatar
udo1toni
Beiträge: 13864
Registriert: 11. Apr 2018 18:05
Answers: 222
Wohnort: Darmstadt

Re: openHAB Migrationen

Beitrag von udo1toni »

Sehr schönes Tutorial.

Eine kleine Anmerkung: Die Adresse http://localhost:8080/ implziert, dass Du Dich auf dem openHAB-Server in einer Desktop Umgebung befindest. Das dürfte (und sollte unbedingt!) die Ausnahme sein.

Der Befehl openhab-cli info listet die wichtigsten Informationen zum installierten openHAB-System auf, z.B. auch die Adresse, unter der openHAB sicher erreichbar ist.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

Benutzeravatar
Cyrelian
Beiträge: 601
Registriert: 24. Sep 2015 17:55
Answers: 4

Re: openHAB Migrationen

Beitrag von Cyrelian »

Hi Michdo93,

wooooow, was für eine Anleitung. Sehr Cool.

CU
Cyrelian

Antworten