OH in Docker-Container Problem mir Pfad für Script

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
kaloschke
Beiträge: 193
Registriert: 29. Jan 2019 07:20
Answers: 0

OH in Docker-Container Problem mir Pfad für Script

Beitrag von kaloschke »

Hallo,
ich habe meinen Smarthomekram auf Docker umgestellt (RPi 4). OH 4.0.3 läuft soweit gut, aber die Pfadangaben für Scripte passen nicht mehr.
Meine OH Dateien liegen auf dem Raspi unter

Code: Alles auswählen

/home/pi/docker/apps/openhab
und die Skripte dementsprechend unter

Code: Alles auswählen

/home/pi/docker/apps/openhab/conf/scripts

Mit diesem Pfad klappt jetzt der Befehl executeCommandLine natürlich nicht und auch nicht die in einem Script benutzen Pfade.
Gibt es eine Variable, die man für den ersten Teil des Pfades benutzen kann?
Viele Grüße

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

Re: OH in Docker-Container Problem mir Pfad für Script

Beitrag von udo1toni »

Erst mal: Das Verzeichnis $OPENHAB_CONF/scripts/ ist NICHT für Bash Scripte gedacht. Vielmehr werden dort ausschließlich Dateien mit der Endung .script erwartet, diese Dateien enthalten dann DSL Code und können aus einer DSL Rule heraus per callScript("meinScript") aufgerufen werden, wobei meinScript dann der erste Teil des Dateinamens ist, OHNE die Endung .script.

Du kannst Bash Scripte an anderer Stelle im Dateisystem ablegen.
Allerdings sollte klar sein, dass Bash Scripte unter Docker meist nicht so funktionieren, wie Du es erwarten würdest, denn im Docker Container ist eine minimale Umgebung installiert, oftmals fehlen selbst essentielle Dinge, um Bash Scripte laufen zu lassen.

Zu guter Letzt: Pfade, die Du in openHAB einträgst, beziehen sich immer darauf, die openHAB die Welt sieht.
openHAB ist in einem Docker Container installiert, dort gelten andere Pfade als außerhalb des Containers.
Du greifst von außerhalb des Containers zu und musst logischerweise die Pfade entsprechend anpassen.

Beispiel:
Es ist ein Volume mit /home/pi/docker/apps/openhab/openhab_userdata:/openhab/userdata eingebunden.
Außerhalb des Containers erreichst Du also die Dateien unter /home/pi/docker/apps/openhab/openhab_userdata/..., innerhalb des Containers unter /openhab/userdata/...
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

kaloschke
Beiträge: 193
Registriert: 29. Jan 2019 07:20
Answers: 0

Re: OH in Docker-Container Problem mir Pfad für Script

Beitrag von kaloschke »

Wieder mal vielen Dank für deine Erläuterungen.
So wie in der letzten Zeile hatte ich mir das auch gedacht. Dass es nicht funktioniert hat, lag an einem anderen Fehler, der das Laden der Rules verhindert hat, wie ich eben erst gesehen habe.
Also alles wieder bestens :D .
Einen schönen Tag noch ...

Antworten