Migration von openHAB 2.5 nach openHAB 3

Allgemeine Fragen rund um die "Smart Home" Hardware/Komponenten

Moderatoren: seppy, udo1toni

Antworten
shaggy0815
Beiträge: 20
Registriert: 24. Nov 2019 09:37
Answers: 0

Migration von openHAB 2.5 nach openHAB 3

Beitrag von shaggy0815 »

Hallo an das Forum,

ich wollte gerne meinen Raspberry mit openHAB 2.5 nach openHAB 3 migrieren und bin dabei nach der Beschreibung wie man migriert
auf openhab.org vorgegangen.

Ich habe mich per ssh auf den Pi verbunden, dann mit sudo openhab-config gestartet und den Punkt 3 ausgewählt. Leider kam dann ein
Fehler mit dem Error Code 403. Dies hat wohl damit zu tun, dass ich noch auf diesem alten Bintray Repository bin, von dem nun versucht
wird Daten zu laden.

Ich hab dann unter openhab-config erst noch den Punkt 2 ausgewählt in der Hoffnung, dass dies das Problem behebt. Leider ohne Erfolg.

Wo kann ich denn konfigurieren, dass auf das richtige Repository zugegriffen wird?

Grüße, Sven

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

Re: Migration von openHAB 2.5 nach openHAB 3

Beitrag von udo1toni »

Du musst zunächst die sources.list anpassen. da Du openHABian nutzt, per ssh:

Code: Alles auswählen

openhabian@openhab:~$ cd /etc/apt/sources.list.d/
openhabian@openhab:/etc/apt/sources.list.d$ ls -l
insgesamt 9
-rw-r--r-- 1 root root 110  7. Jan 2021  nodesource.list
-rw-r--r-- 1 root root 413 27. Jun 22:57 openhab-linuxpkg.list <--- um diese Datei geht es
-rw-r--r-- 1 root root  52 25. Jul 18:54 zulu-enterprise.list
-rw-r--r-- 1 root root  64  7. Jan 2021  zulu-openjdk.list
openhabian@openhab:/etc/apt/sources.list.d$ sudo nano openhab-linuxpkg.list
Die vorhandene Zeile mit bintray ersetzt Du durch diese hier:

Code: Alles auswählen

deb https://openhab.jfrog.io/artifactory/openhab-linuxpkg stable main
Danach einmal

Code: Alles auswählen

sudo apt update
ausführen.

es kann sein, dass sich der Name der Datei seit Deiner Installation geändert hat (also dass die Datei bei Dir anders heißt als bei meinem aktuellen System). openhab kommt aber auf jeden Fall im Namen vor.

Vermutlich ist Dein System auch noch auf buster, inzwischen sind wir bei bullseye. Das wäre im Verzeichnis drüber die Datei sources.list. Das Upgrade von buster auf bullseye ist allerdings etwas umfangreicher, und bei mehreren meiner Systeme musste ich anschließend noch verschiedene Dinge korrigieren, das solltest Du also nicht ohne Backup und eine Extraportion Zeit machen.
openHAB4.2.2 stable in einem Debian-Container (bookworm) (Proxmox 8.2.8, LXC), mit openHABian eingerichtet

shaggy0815
Beiträge: 20
Registriert: 24. Nov 2019 09:37
Answers: 0

Re: Migration von openHAB 2.5 nach openHAB 3

Beitrag von shaggy0815 »

Hallo Udo,

vielen Dank. Die benötigte Datei habe ich soweit angepasst.

Das sudo apt update kann ich ja dann erstmal recht gefahrlos durchführen, richtig? Sorry ich bin nicht so 100% firm mit
Linux.

Ja soweit ich mich erinnere bin ich auf buster. Wie würde ich den am besten auf bullseye updaten? Ich denke erstmal über
sudo openhab-config ein Backup anlegen? Kann ich auch über openhab-config auf bullseye hochrüsten?

Grüße, Sven

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

Re: Migration von openHAB 2.5 nach openHAB 3

Beitrag von udo1toni »

Das Update auf bullseye kannst Du jederzeit auch später machen.

aber wie gesagt, mindestens brauchst Du Zeit dafür. Deshalb kannst Du auch anders vorgehen, und zwar installierst du auf einer 2. SD-Karte komplett neu, wobei ich mir nicht sicher bin, ob das aktuelle Image schon auf bullseye aktualisiert ist.
Die grundsätzliche Vorgehensweise:
Schritt 1, letzte Pakete des aktuellen Systems installieren:

Code: Alles auswählen

sudo apt update && sudo apt -y full-upgrade
Danach openHAB vorläufig deaktivieren (angegeben für openhab3).

Code: Alles auswählen

sudo systemctl disable openhab.service
Anschließend

Code: Alles auswählen

sudo reboot
Dies wäre ein guter Zeitpunkt, ein Backup zu erstellen, falls keines existiert.
Jetzt wird das Repository getauscht.

Code: Alles auswählen

sudo sed -i 's/buster/bullseye/g' /etc/apt/sources.list
Es wird einfach das Wort "buster" in das Wort "bullseye" geändert, und zwar an allen Stellen in der Datei /etc/apt/spurces.list
Falls es noch weitere Quelllisten gibt, liegen die in dem Unterverzeichnis sources.list.d

Code: Alles auswählen

sudo sed -i 's/buster/bullseye/g' /etc/apt/sources.list.d/*
Nun kommt der erste Teil des eigentlichen Upgrades:

Code: Alles auswählen

sudo apt update && sudo apt -y upgrade --without-new-pkgs
und anschließend die übrigen Pakete

Code: Alles auswählen

sudo apt update && sudo apt -y full-upgrade
Abschließend ein letzter Neustart

Code: Alles auswählen

sudo reboot
Und natürlich nicht vergessen, openHAB wieder zu aktivieren:

Code: Alles auswählen

sudo systemctl enable openhab.service && sudo systemctl start openhab.service 
Das Abschalten von openhab ist nicht zwingend notwendig, aber sinnvoll, weil der Dienst beim Upgrade eventuell durcheinander kommt.
openHAB4.2.2 stable in einem Debian-Container (bookworm) (Proxmox 8.2.8, LXC), mit openHABian eingerichtet

shaggy0815
Beiträge: 20
Registriert: 24. Nov 2019 09:37
Answers: 0

Re: Migration von openHAB 2.5 nach openHAB 3

Beitrag von shaggy0815 »

Hallo Udo,

ich denke mal Dein Vorschlag auf einer zweiten SD komplett neu zu installieren dürfte wohl am wenigsten Gefahr darstellen.

Diese Variante hatte ich irgendwie so garnicht auf dem Schirm. Bei meinem jetzigen Setup hab ich mir immer dann, wenn ich
etwas geändert habe, den kompletten openHAB-conf Ordner gesichert um im Zweifelsfall Dinge zurückspielen zu können.

Bisher hab ich noch ein überschaubares System. Kann ich den mit den Daten aus dem openHAB-conf Ordner aus openHAB 2.5
in openHAB 3 noch irgendetwas anfangen um mein System in openHAB 3 relativ schnell wieder herzustellen?

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

Re: Migration von openHAB 2.5 nach openHAB 3

Beitrag von udo1toni »

Du kannst problemlos ein Backup erstellen, mittels

Code: Alles auswählen

sudo openhab-cli backup
erzeugst Du ein Backup Archiv. Dies liegt in einer zip-Datei vor (der Befehl informiert meines Wissens, wo das Backup gelandet ist).
Nachdem Du openHAB aufgesetzt hast, spielst Du das Backup zurück. Das funktioniert auch versionsübergreifend.

Natürlich gibt es Dinge, die sich grundlegend von openHAB2 zu openHAB3 geändert haben. Die musst Du leider händisch anpassen.

Grob sind das folgende Punkte: 1. OH1 Bindings werden in OH3 nicht mehr unterstützt. Das heißt, jegliche Konfiguration, die OH1 Bindings betrifft, muss komplett neu erstellt werden (natürlich unter der Voraussetzung, dass es ein Ersatzbinding in OH3 gibt)
Diesen Punkt musst Du natürlich vor der Umstellung abklären.
2. Es gibt in Rules zwei relevante Unterschiede, zum einen eine implizite Variable, die teilweise anders funktioniert (das ist triggeringItem, diese steht in OH3 nur in Rules zur Verfügung, die mit Member of getriggert wurden. In Rules, die mit Item getriggert wurden, muss man triggeringItemName verwenden, um zumindest den Namen des Items zu erfahren. Unter OH2 funktioniert triggeringItem mit beiden Trigger Arten. Zum Anderen (schwerwiegender) wurde die Bibliothek Joda Time zugunsten von JavaTime entfernt. Die Aufrufe unterscheiden sich, teilweise gar nicht, teilweise erheblich, teilweise müssen sie komplett anders programmiert werden. Überall, wo Du mit now() als Funktion gearbeitet hast (z.B. now.getHourOfDay) müssen die Aufrufe entsprechend angepasst werden.
openHAB4.2.2 stable in einem Debian-Container (bookworm) (Proxmox 8.2.8, LXC), mit openHABian eingerichtet

Benutzeravatar
peter-pan
Beiträge: 2685
Registriert: 28. Nov 2018 12:03
Answers: 28
Wohnort: Schwäbisch Gmünd

Re: Migration von openHAB 2.5 nach openHAB 3

Beitrag von peter-pan »

udo1toni hat geschrieben: 2. Sep 2021 16:58 Die grundsätzliche Vorgehensweise:
Hallo Udo,
nur am Rande bemerkt: Herzlichen Dank für die Upgrade-Roadmap. Super erklärt. Hab es gleich mit meinem OH3-Test-Pi ausprobiert:

Code: Alles auswählen

###############################################################################
###############  hostHAB3  ####################################################
###############################################################################
##        Ip = 192.168.1.xxx
##   Release = Raspbian GNU/Linux 11 (bullseye)
##    Kernel = Linux 5.10.60-v7l+
##  Platform = Raspberry Pi 4 Model B Rev 1.1
##    Uptime = 0 day(s). 0:11:56
## CPU Usage = 0% avg over 4 cpu(s) (4 core(s) x 1 socket(s))
##  CPU Load = 1m: 0.25, 5m: 0.38, 15m: 0.35
##    Memory = Free: 0.67GB (36%), Used: 1.20GB (64%), Total: 1.87GB
##      Swap = Free: 1.80GB (100%), Used: 0.00GB (0%), Total: 1.80GB
##      Root = Free: 17.62GB (63%), Used: 10.14GB (37%), Total: 28.98GB
##   Updates = 0 apt updates available.
##  Sessions = 1 session(s)
## Processes = 125 running processes of 32768 maximum processes
###############################################################################

                          _   _     _     ____   _
  ___   ___   ___   ___  | | | |   / \   | __ ) (_)  ____   ___
 / _ \ / _ \ / _ \ / _ \ | |_| |  / _ \  |  _ \ | | / _  \ / _ \
| (_) | (_) |  __/| | | ||  _  | / ___ \ | |_) )| || (_) || | | |
 \___/|  __/ \___/|_| |_||_| |_|/_/   \_\|____/ |_| \__|_||_| | |
      |_|                          3.2.0.M1 - Milestone Build
Eine Frage noch! Es kommt immer mal wieder die Aufforderung eine Konfig-Datei des Autors zu verwenden oder die bestehende Konfig beizubehalten. Wie gehst du damit um ?

Gruss - Peter
Pi5/8GB(PiOS Lite 64-bit(bookworm)/SSD 120GB - OH4.3.0 openhabian

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

Re: Migration von openHAB 2.5 nach openHAB 3

Beitrag von udo1toni »

peter-pan hat geschrieben: 3. Sep 2021 11:27 Eine Frage noch! Es kommt immer mal wieder die Aufforderung eine Konfig-Datei des Autors zu verwenden oder die bestehende Konfig beizubehalten. Wie gehst du damit um ?
Da gibt es ein ganz klares "Das kommt darauf an!" :)

Bei Konfigurationsdateien, bei denen ich sicher weiß, dass keine Änderungen vorgenommen wurden, nehme ich die, welche ausgeliefert wird.
Bei Konfigurationsdateien, wo ich sicher weiß, dass es Änderungen gab, übernehme ich die vorliegende Version.
Im Zweifel lasse ich mir das Diff ausgeben, wobei ich aber ehrlicherweise gerne an der Interpretation der Ausgabe scheitere ;)

Wo ich die lokale Version behalten habe, werfe ich dann noch einen Blick in die Doku und schaue, was evtl. an neuen Parametern nachzupflegen ist.
Eventuell ist es auch einfacher, die Werte, die in "meiner" Version geändert wurden, in die neue Version zu kopieren. z.B. bei der smb.conf bietet sich das an, es geht ohnehin nur um die Definition der Freigaben, die stehen ja am Ende der Datei und sind leicht en block zu kopieren.

Die "neue" Verison wird immer unter dem Dateinamen mit der Endung _dist abgespeichert, so dass man sie direkt über die vorhandene Datei kopieren kann (nachdem man die wichtigen Einstellungen ausgelagert hat, versteht sich...)

Aber auch die Variante, einfach immer die ausgelieferte Version zu installieren ist ohne Gefahr, weil apt die vorhandene Datei dann umbenennt. Man kann dann also dennoch alte Konfigurationen wiederherstellen, indem man beide Versionen nebeneinander legt und schrittweise bearbeitet. Natürlich sollte man dazu verstehen, was jeder einzelne Parameter bedeutet, um nicht etwas "kaputt" zu konfigurieren.
openHAB4.2.2 stable in einem Debian-Container (bookworm) (Proxmox 8.2.8, LXC), mit openHABian eingerichtet

Antworten