Backporting OpenHAB Addons

Backporting OpenHAB Addons

Im Folgenden habe ich die Schritte notiert, die notwendig sind um ein OpenHAB Addon aus der Entwicklung in eine stabile Version von OpenHAB zurückzuportieren.

Vorgehen

Die Schritte sind wie folgt, am Beispiel des Tibber-Bindings illustriert. In Version 3.4.2 fehlte dem Binding noch ein Kanal für die Energiepreise des aktuellen Tags. Im GIT-Repository der OpenHAB Addons war im main Branch jedoch bereits eine Version verfügbar, die einen zusätzlichen Kanal für diese Werte beinhaltet. Wenn man dieses Addon baut, ist es jedoch nur für die Entwicklungsversion von OpenHAB (4.0.0) geeignet.

# OpenHAB Addons Repository klonen
git clone openhab-addons
cd openhab-addons
# Den gewünschten stabilen Branch auschecken, hier für 3.4.2
git checkout -b remotes/origin/3.4.x
# Nur für das gewünschte Plugin, den Quellcode aus dem main Branch holen
git checkout main -- bundles\org.openhab.binding.tibber\src
# Das statische Codeanalyse Plugin ggf. deaktivieren, da es sonst zu Fehlern beim Bau kommen kann
nano pom.xml #> remove plugin / org.openhab.tools.sat xml block 
# Das Plugin bauen
mvn clean install -pl :org.openhab.binding.tibber
# Das bisherige Binding im OpenHAB UI entfernen
firefox #> uninstall old bundled binding from openhab ui
# Das neu gebaute Binding in den OpenHAB Addons Ordner kopieren
cp bundles/org.openhab.binding/tibber/target/*.jar openhabian:/usr/share/openhab/addons

Im konkreten Fall des Tibber-Bindings war der neue Kanal erst sichtbar, nachdem ich ein neues Thing erzeugt hatte. Das vorherige Thing ging zwar wieder Online jedoch ohne den neuen Kanal.