Blockly "call script file" funktioniert nicht
-
- Beiträge: 66
- Registriert: 25. Dez 2017 21:04
Blockly "call script file" funktioniert nicht
Hallo zusammen,
ich habe in Blockly diese Zeile eingefügt: Als Inhalt hatte ich schon:
mopidy_ausschalten.sh
/pfad/mopidyausschalten.sh
immer bekomme ich diesen Fehler:
Failed to execute rule 'dummyswitche-': Fail to execute action: 2
Ich habe schon mehrfach versucht, das Script im Container usw auszuführen, was immer funktioniert hat, natürlich auch als Openhab User.
In den "händischen" Rules hat bisher das immer funktioniert:
executeCommandLine(Duration.ofSeconds(3), "/openhab/conf/scripts/relais_an.sh")
Wo mach ich den Fehler?
Danke
ich habe in Blockly diese Zeile eingefügt: Als Inhalt hatte ich schon:
mopidy_ausschalten.sh
/pfad/mopidyausschalten.sh
immer bekomme ich diesen Fehler:
Failed to execute rule 'dummyswitche-': Fail to execute action: 2
Ich habe schon mehrfach versucht, das Script im Container usw auszuführen, was immer funktioniert hat, natürlich auch als Openhab User.
In den "händischen" Rules hat bisher das immer funktioniert:
executeCommandLine(Duration.ofSeconds(3), "/openhab/conf/scripts/relais_an.sh")
Wo mach ich den Fehler?
Danke
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Openhab 4.1.2 in einem Docker Container
- udo1toni
- Beiträge: 14612
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Blockly "call script file" funktioniert nicht
Da liegt ein Irrtum vor.
call script file tut genau das: es führt ein Script aus.
Damit ist aber nicht executeCommandLine() gemeint (dafür gibt es evtl. gar keinen Baustein, oder vielleicht hat jemand aus der Community einen entsprechenden in den Marketplace hochgeladen), sondern die DSL Scripts, welche im Verzeichnis $OPENHAB_CONF/scripts/ mit der Endung *.script gespeichert sind (und ausschließlich solche Dateien sollten sich in dem genannten Verzeichnis befinden).
call script file tut genau das: es führt ein Script aus.
Damit ist aber nicht executeCommandLine() gemeint (dafür gibt es evtl. gar keinen Baustein, oder vielleicht hat jemand aus der Community einen entsprechenden in den Marketplace hochgeladen), sondern die DSL Scripts, welche im Verzeichnis $OPENHAB_CONF/scripts/ mit der Endung *.script gespeichert sind (und ausschließlich solche Dateien sollten sich in dem genannten Verzeichnis befinden).
openHAB4.2.2 stable in einem Debian-Container (bookworm) (Proxmox 8.2.7, LXC), mit openHABian eingerichtet
-
- Beiträge: 66
- Registriert: 25. Dez 2017 21:04
Re: Blockly "call script file" funktioniert nicht
Ahhhhh, OK.
Hab gerade einen Threat gefunden wo diskutiert wurde, ob man das nicht implementiert, wegen Risiken.
Also doch wieder "von Hand", schade.
Hab gerade einen Threat gefunden wo diskutiert wurde, ob man das nicht implementiert, wegen Risiken.
Also doch wieder "von Hand", schade.
Openhab 4.1.2 in einem Docker Container
-
- Beiträge: 400
- Registriert: 30. Apr 2021 13:13
Re: Blockly "call script file" funktioniert nicht
Bis jemand eine schönere Lösung präsentiert kannst Du folgendes machen ->
ein neues Script vom Typ Rule_DSL anlegen mit der UID "relais_an_script", dort diese eine Zeile rein schmeißen,
anschließend kannst Du es mit dem anderen Scriptblock, ruleUID ist dann "relais_an_script", ohne weitere Parameter aufrufen. Hat bei mir jedenfalls gerade geklappt.
ein neues Script vom Typ Rule_DSL anlegen mit der UID "relais_an_script", dort diese eine Zeile rein schmeißen,
Code: Alles auswählen
logInfo("mach was",executeCommandLine(Duration.ofSeconds(3), "/openhab/conf/scripts/relais_an.sh"))
-
- Beiträge: 400
- Registriert: 30. Apr 2021 13:13
Re: Blockly "call script file" funktioniert nicht
Hat mir keine Ruhe gelassen
Mit Javascript (ECMAScript 262 Edition 11) lautet der Befehl
Diesen kannst Du im inline_Script-Block einfügen
Mit Javascript (ECMAScript 262 Edition 11) lautet der Befehl
Code: Alles auswählen
actions.Exec.executeCommandLine(time.Duration.ofSeconds(3), "/openhab/conf/scripts/relais_an.sh");
-
- Beiträge: 66
- Registriert: 25. Dez 2017 21:04
Re: Blockly "call script file" funktioniert nicht
@Harka
Deine erste Lösung hab ich getestet und die funktioniert super! DANKE
Deine erste Lösung hab ich getestet und die funktioniert super! DANKE
Openhab 4.1.2 in einem Docker Container
-
- Beiträge: 66
- Registriert: 25. Dez 2017 21:04
Re: Blockly "call script file" funktioniert nicht
Das zweite geht leider nicht
Script execution of rule with UID 'dummyswitche-5' failed: TypeError: Cannot read property "executeCommandLine" from undefined in <eval> at line number 21
Script execution of rule with UID 'dummyswitche-5' failed: TypeError: Cannot read property "executeCommandLine" from undefined in <eval> at line number 21
Openhab 4.1.2 in einem Docker Container
-
- Beiträge: 400
- Registriert: 30. Apr 2021 13:13
Re: Blockly "call script file" funktioniert nicht
Jup, habe nicht auf deine Signatur geachtet. Geht erst ab OH 4 mit Blockly.