Handling der Bindings: UI / Karaf ?

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
harteknut
Beiträge: 231
Registriert: 3. Dez 2019 08:21
Answers: 8

Handling der Bindings: UI / Karaf ?

Beitrag von harteknut »

Hallo zusammen,

ich würde mich freuen, wenn Ihr mir das openHABs Binding-Handling erklären könnt, ich blicke gerade mit den verschiedenen Möglichkeiten, insb. Karaf-Konsiole, nicht ganz durch. Es geht konkret um Folgendes:
Ich habe hier eine OH3-Installation, die Bindings habe das neue UI installiert. Unter "Add-on Management" habe ich den Schalter "Access Remote Repository" aktiviert, alle Bindings werden in der Version 3.0.0 angezeigt.
Jetzt möchte ich ein einzelnes Binding gerne auf die Version 3.1.0-SNAPSHOT ziehen, weil ich dankenswerterweise ein *.jar-File bekommen habe. Wie hier beschrieben muss das File dazu im addons-Ordner platziert werden (bei openHABian "/usr/share/openhab/addons/").
Das habe ich gemacht, jetzt kommen meine Fragen:
  • Im addons-Ordner liegt schon eine Datei, und zwar ein kar-File ("openhab-addons-3.0.0.kar"). Das scheint mit >200MB die gesamten Bindings zu enthalten. Wenn ich es entferne, werde im UI keine Bindings mehr angezeigt und es lassen sich auch keine mehr installieren. Wenn ich es zurückschiebe, ist alles wieder da.
    -> Warum ist das so? Ich dachte, die OH greift auf das remote-Paket zu, wenn ich den "Access Remote Repository"-Schalter gesetzt habe.
  • Im UI wird weiterhin (auch nach Neustart) weiterhin das 3.0.0-Binding angezeigt. In der Karaf-Konsole sehe ich bei "bundles" beide Versionen:

    Code: Alles auswählen

    openhab> bundle:list -s |grep lcn
    196 │ Active │ 80 │ 3.1.0.202101101503 	│ org.openhab.binding.lcn
    230 │ Active │ 80 │ 3.0.0 		│ org.openhab.binding.lcn
    und bei "feature" nur die v3.0.0:

    Code: Alles auswählen

    openhab> feature:list |grep lcn
    openhab-binding-lcn │ 3.0.0 │ x │ Started │ openhab-addons-3.0.0 │ Lcn Binding
    -> Ich verstehe den Unterschied zwischen den "feature-" und "bundle"- Listen nicht. Ich kann wir hier beschrieben mit "bundle:stop 230" den Status auf "resolved" ändern, in der feature-Anzeige ändert sich dadurch aber nix.
  • Um OH zu zwingen, die v3.1.0 zu nutzen, habe ich das v3.0.0-Binding in der UI deinstalliert (und anschließend natürlich "sudo service openhab stop, sudo openhab-cli clean-cache, sudo service openhab start" durchgeführt). Damit verschwindet das Binding aus der UI und in der Karaf-Konsole sehe ich Folgendes:

    Code: Alles auswählen

    openhab> bundle:list -s |grep lcn
    207 │ Active │  80 │ 3.1.0.202101101503      │ org.openhab.binding.lcn
    openhab> feature:list |grep lcn
    
    openhab-binding-lcn │ 3.0.0 │ x │ Uninstalled │ openhab-addons-3.0.0 │ Lcn Binding
    
    Hm, scheint nicht funktioniert zu haben. Witzigerweise läuft irgendein Binidng, die Kopplung zum LCN-Bus funktioniert nämlich. Wie kriege ich denn raus, welches Binding OH gerade verwendet? Hängt das evtl. alles mit dem ersten Thema (remote-Paket) zusammen?
Würde mich super freuen, wenn da jemand Licht ins Dunkel (in meinem Kopf) bringen könnte.

Gruß
Simon

ThomasW
Beiträge: 33
Registriert: 9. Jan 2021 16:12
Answers: 1

Re: Handling der Bindings: UI / Karaf ?

Beitrag von ThomasW »

Hallo Simon
wenn ich das jetzt richtig verstehe findest du in der Feature liste alle bindings welche du über die UI auswählen und installieren kannst.
Manuell in den addons Ordner abgelegte tauchen hier nicht auf.

unter bundel kannst du dir den Status aller Installierten anzeigen lassen in deinen fall die Version 3.1.0.... so wie es ja auch von dir gedacht ist.
oder findest du da jetzt auch noch das 3.0.0? (sollte eigentlich verschwunden sein)

Somit hast du alles richtig gemacht um es zu Installieren.

Ich hoffe ich konnte etwas Licht ins Dunkel bringen

gruß
Thomas
OH3 auf RPI4,
Heizungssteuerung: Fritz DECT,
Zigbee: Conbee2 über Phoscon-GW: Aqara Opple Schalter, Aqara Temperatursensoren, Aqara Fenstersensoren, Aqara Aktoren, IKEA Lichter
Astro Binding
DWDUnwetter Binding
OpenWeatherMap Binding
FritzBox TR 064 Binding
iRobot Binding
Telegramm Binding für Benachrichtigungen und Steuerung von unterwegs
Rolladensteuerung: Rademacher DuoFern über HTTP Binding

harteknut
Beiträge: 231
Registriert: 3. Dez 2019 08:21
Answers: 8

Re: Handling der Bindings: UI / Karaf ?

Beitrag von harteknut »

Das heißt:
"feature" bezieht sich auf das UI, "bundle" auf openhab allgemein?

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

Re: Handling der Bindings: UI / Karaf ?

Beitrag von udo1toni »

feature -> installierbare und installierte Optionen (aus den eingerichteten Repositories).
bundle -> installierte Pakete (gleich, aus welcher Quelle).

Das ist so grob der Unterschied.
Die beiden Listen sind nicht deckungsgleich, selbst, wenn Du alles installierst, was die UI hergibt.

Im Detail ist es so, dass die eine Liste das Bundle selbst betrifft, dort kannst Du z.B. auch herausfinden, unter welchem Logger das Bundle schwätzt, während die andere nur zur Installation/Deinstallation dient.

Jedenfalls, soweit ich das verstanden zu haben glaube... ;)
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

harteknut
Beiträge: 231
Registriert: 3. Dez 2019 08:21
Answers: 8

Re: Handling der Bindings: UI / Karaf ?

Beitrag von harteknut »

Danke, dann hab ich das (glaube ich) verstanden.
Bleibt die Frage, warum es diese *.kar-Datei gibt, könnt Ihr mir das erklären? Denn die Inhalte davon werden ja in der UI angezeigt, die (im gleichen Ordner liegenden) *.jar-Dateien nicht...

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

Re: Handling der Bindings: UI / Karaf ?

Beitrag von udo1toni »

Welche *.kar Datei, die addons.kar?

Du kannst das Repository lokal vorhalten oder das Remote Repository verwenden. Lokal ist sinnvoll, wenn Du das System z.B. an einer Stelle mit schmaler Internetanbindung (oder vielleicht sogar ohne Internet) betreibst. Die addons.kar enthält dann halt alle über die UI installierbaren addons in gepackter Form (wie auch immer...), so dass openHAB die Datei als Quelle nutzen kann. Wenn es die Datei nicht gibt, muss openHAB die zu installierenden Addons über das Internet zunächst herunterladen.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

harteknut
Beiträge: 231
Registriert: 3. Dez 2019 08:21
Answers: 8

Re: Handling der Bindings: UI / Karaf ?

Beitrag von harteknut »

So hatte ich das auch gedacht.
Und ich dachte, dass ich mit dem Schalter "Access Remote Repository" zwischen "lokal" und "remote" wechseln kann. Der Schalter hat aber scheinbar keine Funktion, OH verwendet immer die lokale Datei, denn unabhängig von der Schalterposition sieht man im UI...
- alle Bindings, wenn die .kar-DAtei im addons-Ordner liegt
- gar keine Bindings, wenn man diese entfernt.

Ich teile Euch noch kurz meine Erkenntnisse mit der Binding-Steuerung aus der Karaf-Konsole mit (zusätzlich zu den Infos von Udo weiter oben):
mit

Code: Alles auswählen

bundle:start ID-des-Bindings
bundle:stop ID-des-Bindings
lassen sich verschiedene Binding-Versionen sehr gut steuern. Die ID lässt sich vorher mit

Code: Alles auswählen

bundle:list -s | grep name-des-bindings
rauskriegen.
OH prüft scheinbar nicht, ob verschiedene Versionen eines Bindings vorliegen und meckert nicht, wenn man zusätzlich zur 3.0.0 auch die 3.1.0 anwirft.
Daher habe ich immer erst das aktive bundle gestoppt und dann das neue gestartet.

In der UI werden unter "Bindings" dagegen nur die Bindings zur Installation angeboten, die in der .kar-Datei enthalten (und noch nicht installiert) sind. Zusätzlich abgelegte .jar-Dateien werden sofort "installiert" und können daher nicht ausgewählt werden. Ein bisschen irreführend ist, dass die durch zusätzlich abgelegte .jar-Dateien installierten Bindings in der Binding-Übersicht des UI (analog zu feature:list) nicht angezeigt werden.
Heißt: In der UI gibt es keine Hinweis darauf, dass dieses Binding läuft.
Außer...
Beim Hinzufügen von Things. Da kann ich diese (durch zusätzliche Dateien installierte) Bindings dann doch auswählen und so entsprechende Things hinzufügen.
Alles gut also (wenn mans mal weiß...)!

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

Handling der Bindings: UI / Karaf ?

Beitrag von udo1toni »

Es gibt einen „normalen“ Weg, die Addons einzurichten, das wäre über feature:install, welches die Addons aus welcher Quelle auch immer bezieht (ob nun die lokale *.kar Datei oder online - warum der online-Weg nicht funktioniert, müsste man mal im englischen Forum erfragen, das sollte nämlich nicht so sein)

Und dann gibt es den „manuellen“ Weg, ein Addon einzurichten, das geschieht so, wie es zu openHAB1-Zeiten ausschließlich lief, nämlich, indem die *.jar Datei in den Addons-Ordner gepackt wird. openHAB nimmt die Datei dann sofort und führt sie aus. Da die Datei das komplette bundle enthält, läuft dieses anschließend, genau, wie wenn es über feature:install eingerichtet wurde.
In der UI taucht es aber logischerweise nur an den Stellen auf, an denen auch das normal installierte Addon auftaucht (außer natürlich in den Bereichen, die die normale Installation betreffen).

Wenn man die aktuell normal verfügbare Version gegen eine andere (gewöhnlich neuere) austauschen will, so muss die alte Version zunächst deinstalliert werden (über feature:remove. Oder hieß es feature:uninstall?). Anschließend wird die neue Version manuell eingerichtet.

Die Main UI macht auch nichts anderes, als feature:install aufzurufen (über die REST API)


Gesendet von iPad mit Tapatalk
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

Antworten