Manchmal kommt es vor, dass es erforderlich ist, eine andere Version eines openHAB Addons (z.B. eines Bindings) zu installieren als die, die gerade im offiziellen Repository verfügbar ist. Zum Beispiel zum Ausprobieren einer Betaversion oder Fehlerbehebung. Ich beschreibe hier, wie das funktioniert.
Verwendetes Material / Lizenzen
- Raspberry Pi (z.B. der Raspberry Pi 4 mit 4GB RAM bei amazon.de als Komplettkit, ca. 95 EUR.).
- 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).
Deinstallation der alten Version
Ich setze hier voraus, dass der Zugriff per SSH auf die openHAB Konsole freigeschaltet ist. Wenn nicht bitte hier nachlesen.
Im Beispiel installiere ich eine Testversion des Homematic Bindings, die mir zur Verfügung gestellt wurde.
Dafür muss als erstes einmal die alte Version entfernt werden. Wenn die alte Version aus der Weboberfläche installiert war, funktioniert das ganz einfach über die Weboberfläche unter Settings -> Bindings -> <XXX> Binding -> Uninstall.
Wenn die Version allerdings bereits manuell installiert war, muss die Deinstallation über die Konsole erfolgen. Dazu per SSH anmelden an der openHAB Konsole (nicht an dem Betriebssystem, das ebenfalls per SSH erreichbar ist im Fall eines Raspberry Pis).

Dort jetzt mit dem Kommando
bundle:list | grep Homematic
das passende Bundle ermitteln. Wichtig ist die Zahl ganz links, das ist die ID. Mit dieser ID können wir es dann deinstallieren:
bundle:uninstall <ID>

Installation der neuen Version
Nachdem die alte Version nun weg ist muss openHAB beendet werden. Dazu jetzt per SSH auf den Raspberry Pi einloggen auf Betriebssystem Ebene und den Befehl
sudo systemctl stop openhab.service
ausführen. Zwischendurch kopieren wir jetzt die .jar Datei vom neuen Addon in den openHAB-addons Ordner:

Eine etwa bestehende alte Version natürlich bei der Gelegenheit mit rauslöschen. Nachdem das abgeschlossen ist wird der Cache geleert per SSH mit dem Kommando
sudo openhab-cli clean-cache
und dann openHAB wieder gestartet mit
sudo systemctl start openhab.service
Nicht wundern, das dauert jetzt etwas länger, auf einem Raspberry Pi 4 üblicherweise ein paar Minuten. Danach sollte das System wieder zur Verfügung stehen, jetzt mit der neuen Version.
Wichtig: Falls ihr viele Addons installiert habt und/oder einen langsamen Raspberry (alles vor v4), kann es sein, dass openHAB nicht schnell genug hochkommt und sich dann verhaspelt. In diesem Fall gleich nach dem Start noch einmal neu zu starten mit dem Kommando
sudo systemctl restart openhab.service
und es sollte wieder rund laufen.
Schlusswort
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 🙂