Openhap Snap -> lokal
Worum geht es hier? Als ich mit Openhab angefangen habe, wählte ich die einfachste Art der Installation über Snap. Diese Installation lief auch sehr lange einwandfrei. Dann kam der Tag wo Openhab nicht mehr funnktionierte und nach eienm Blick in die Snap Logs stellte ich fest, dass Java nicht aktuell ist. Ich nutze diese Gelegenheit um mich von Snap zu trennen, um das ganze inklusive Influxdb direkt lokal zu installieren. Eine direkte Installation hat hat einige Vorteile und ich komme auch deutlich einfacher an die Konfigurationen. Um zu prüfen ob man selbst betroffen ist, genügt ein Blick in die Logs von Snap:
snap logs openhab.openhab
Sollte hier die Java Versionsmeldung erscheinen, ist man auch betroffen. Ich nehme aber an jeder Snap + Openhab Benutzer ist betroffen, da Snap keine aktuelle Java Version könnte.
JVM must be version 21. JVM version 17 is unsupported (JAVA_HOME=/snap/openhab/3384)
Der grobe Ablauf ist recht einfach
Backup erstellen
Influx migrieren
Openhab migrieren
Addons wiederherstellen
Aufräumen
Backup
cp -r /var/snap/openhab/current/ /root/openhab-backup
Snap Services stoppen
snap stop openhab.openhab
snap stop openhab.influxd
und prüfen ob inactive
snap services
Java installieren und prüfen:
apt install openjdk-17-jdk -y
java -version
muss java 17 zeigen
Schritt 1 um Influxdb kümmern:
apt update
apt install influxdb
apt install influxdb-client
systemctl stop influxdb
cp -a /root/openhab-backup/userdata/influxdb/* /var/lib/influxdb/
chown -R influxdb:influxdb /var/lib/influxdb/
Schritt 2 Openhab
curl -fsSL "https://openhab.jfrog.io/artifactory/api/gpg/key/public" | gpg --dearmor > openhab.gpg
mv openhab.gpg /usr/share/keyrings
echo 'deb [signed-by=/usr/share/keyrings/openhab.gpg] https://openhab.jfrog.io/artifactory/openhab-linuxpkg stable main' | sudo tee /etc/apt/sources.list.d/openhab.list
apt update
apt install openhab=4.3.6-1
apt install openhab-addons=4.3.6-1
systemctl start openhab
warten bis die Standard Installation einmal gestartet ist (verlangt dann im Webinterface das man den neuen Benutzer anlegen soll)
systemctl stop openhab
cp -a /root/openhab-backup/userdata/* /var/lib/openhab/
chown -R openhab:openhab /var/lib/openhab
chown -R openhab:openhab /usr/share/openhab
sudo /bin/systemctl daemon-reload
sudo /bin/systemctl enable openhab.service
systemctl start openhab
Prüfen:
journalctl -u openhab.service -f
Schritt 3 Openhab addons müssen erneut installiert werden
cd ~
openhab-cli console
Passwort: habopen
feature:install openhab-binding-mqtt
feature:install openhab-persistence-influxdb
feature:install openhab-transformation-jsonpath
feature:install openhab-binding-telegram // <- nur wenn es vorher benutzt wurde
logout
FINAL:
snap remove openhab
apt purge snapd