Exec Binding

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
arohleder
Beiträge: 9
Registriert: 13. Apr 2022 13:41
Answers: 0

Exec Binding

Beitrag von arohleder »

Hallo, habe ein kleines Problem:
mit dem Exec-Binding starte ich ein .sh-Script.
Das Script gibt per echo einen Wert aus, den ich gerne als Rückgabewert im
Exex-Binding hätte. in dem Rückgabe-Item steht aber nix drin.
Das das Script ausgeführt wurde, sehe ich am Datumsstempel.
Muss ich da noch ein Item anlegen oder statt echo im script noch was anderes machen?
Danke für Eure Hilfe!!!

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

Re: Exec Binding

Beitrag von udo1toni »

Wenn Du über das exec Binding arbeitest, legst Du pro Script ein Thing an. Jedes exec Thing hat einen Satz Channel, die da wären
  • input - man kann dem Script einen String als Parameter mitgeben
  • output - liefert den Output des Scripts in Form eines Strings
  • exit - liefert den Rückgabewert des Scripts (per Definition 0 = ok, ungleich 0 = Fehler
  • run - startet das Script, stoppt das Script (!), zeigt an, ob das Script gerade läuft
  • lastexecution - liefert den Zeitpunkt der letzten Ausführung
Die Channeltypen müssen jeweils passend mit Items verlinkt werden, input und output vom Typ String, exit vom Typ Number, run vom Typ Switch und lastexecution vom Typ DateTime.
output sollte also die Ausgabe des Scripts liefern - allerdings: eventuell nur, falls der Output in einer Zeile erfolgt. Ich habe das jetzt nicht ausprobiert, aber ein Script kann ja notfalls seitenlange Ausgaben erzeugen. Du kannst davon ausgehen, dass der output Channel allenfalls die letzte Zeile enthalten wird. Je nach Script kann das auch der Grund sein, warum Du (im output Channel) eventuell (scheinbar) keinen Output hast.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

Antworten