Powershell mit OH starten?
-
- Beiträge: 254
- Registriert: 31. Jan 2022 06:35
Re: Powershell mit OH starten?
meinst du es würde ein Update von 3.3.0 auf 3.4.2 helfen resp. geht dies problemlos per "update" (win11)?
- udo1toni
- Beiträge: 15263
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Powershell mit OH starten?
Ich habe openHAB schon lange nicht mehr unter Windows aufgesetzt, aber es läuft ja darauf hinaus, das gezipppte Archiv auf dem System zu entpacken und anschließend den Inhalt der Ordner $OPENHAB_CONF und $OPENHAB_USERDATA der alten Installation in die neue Installation zu verschieben.
Und dieser Vorgang funktioniert natürlich auch in die andere Richtung, solange Du die alte Installation nicht weg wirfst oder zumindest noch die Archive für runtime und addons parat hast.
Ich danke aber nicht, dass das irgendeinen Einfluss auf das Ausführen oder nicht Ausführen der Befehle haben wird. Da wird einfach an anderer Stelle etwas nicht stimmen. Das ist aber kein grundsätzliches Problem, denn ich habe schon diverse Anleitungen dafür (unter Windows) gesehen.
Und dieser Vorgang funktioniert natürlich auch in die andere Richtung, solange Du die alte Installation nicht weg wirfst oder zumindest noch die Archive für runtime und addons parat hast.
Ich danke aber nicht, dass das irgendeinen Einfluss auf das Ausführen oder nicht Ausführen der Befehle haben wird. Da wird einfach an anderer Stelle etwas nicht stimmen. Das ist aber kein grundsätzliches Problem, denn ich habe schon diverse Anleitungen dafür (unter Windows) gesehen.
openHAB4.3.5 stable in einem Debian-Container (bookworm) (Proxmox 8.4.1, LXC), mit openHABian eingerichtet
-
- Beiträge: 254
- Registriert: 31. Jan 2022 06:35
Re: Powershell mit OH starten?
da hattest du Recht. Ich habe jetzt auf 3.4.2 aktualisiert aber das Problem besteht leider immer noch wie vorher. Es ist mir unerklärlich wieso dieser Befehl als Rule nicht funktioniert.
Im test.bat steht dann nur:
was auch per Doppelklick funktioniert.
Im Log-File erscheint nur "Start Batchfile" und dann "End Batchfile"
Bin am Ende meines Lateins...
Code: Alles auswählen
configuration: {}
triggers: []
conditions: []
actions:
- inputs: {}
id: "1"
configuration:
type: application/vnd.openhab.dsl.rule
script: logInfo("TEST", "Start Batchfile")
executeCommandLine("C:\\Windows\\System32\\cmd.exe","/c","C:\\openhab\\conf\\scripts\\test.bat")
logInfo("TEST", "End Batchfile")
type: script.ScriptAction
Im test.bat steht dann nur:
Code: Alles auswählen
"C:\Windows\system32\calc.exe"
Im Log-File erscheint nur "Start Batchfile" und dann "End Batchfile"
Bin am Ende meines Lateins...

- udo1toni
- Beiträge: 15263
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Powershell mit OH starten?
Also, Du könntest noch versuchen, das Logging aufzudrehen. Ich bin mir nicht sicher, welcher Logger hier zuständig ist, das einfachste wäre also, openHAB im Debug-Modus zu starten.
Früher gab es mal eine start_debug.bat dafür, keine Ahnung, ob das noch so vorhanden ist, notfalls gibt es aber auch eine Einstellung dafür, die man vor dem Starten des Programms setzen muss.
EDIT: Da debug für alles zu sehr viel Information führt
ist es sinnvoll vorher alle Things zu pausieren...
Früher gab es mal eine start_debug.bat dafür, keine Ahnung, ob das noch so vorhanden ist, notfalls gibt es aber auch eine Einstellung dafür, die man vor dem Starten des Programms setzen muss.
EDIT: Da debug für alles zu sehr viel Information führt

openHAB4.3.5 stable in einem Debian-Container (bookworm) (Proxmox 8.4.1, LXC), mit openHABian eingerichtet
-
- Beiträge: 1173
- Registriert: 4. Nov 2019 22:08
Re: Powershell mit OH starten?
Hast Du neben Logging schon wie im englischen Forum empfohlen mit
versucht??
Auch könntest Du Dir den output des Befehls in eine Variable ausgeben lassen
Quelle: offizielle Doku
Auch ist dort bei den Beispielen immer ein ; am Ende, was ich bei Deinem Code vermisse, kann aber auch daran liegen, dass Du diesen in der MainUI konfigurierst und das ; nur bei Text-Files notwendig ist.
Code: Alles auswählen
executeCommandLine(Duration.ofSeconds(timeout), String commandLine)
Auch könntest Du Dir den output des Befehls in eine Variable ausgeben lassen
Code: Alles auswählen
var ScriptResponse = executeCommandLine(Duration.ofSeconds(60), "path/to/my/script.sh", itemState1, itemState2);
Auch ist dort bei den Beispielen immer ein ; am Ende, was ich bei Deinem Code vermisse, kann aber auch daran liegen, dass Du diesen in der MainUI konfigurierst und das ; nur bei Text-Files notwendig ist.
openHAB 4.1.0 Release mit openHABian in einem Debian Bookworm (LXC) unter Proxmox 8.1.3
- udo1toni
- Beiträge: 15263
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Powershell mit OH starten?
Also, das mit dem Semikolon ist Quatsch. Wenn es um JavaScript geht, muss das Semikolon geschrieben werden, in der DSL nicht.
In der DSL gibt es exakt einen Befehl, der mit einem Semikolon abzuschließen ist, und zwar zwingend, der Befehl lautet return;
Grund für das Semikolon:
return verlässt das Programm und gibt einen Rückgabewert an die aufrufende Instanz zurück. Der Rückgabewert besteht aus dem Wert, der nach dem return kommt.
Nun könnte man auf die Idee kommen, z.B. return 4 zu schreiben, das führt aber zu einem Fehler, denn der Code wird nicht als Unterprogramm aufgerufen, es ist also an dieser Stelle nicht erlaubt, dass return einen Wert zurück liefert. Dieses "Sonderverhalten" wird mit dem ; erreicht.
In der DSL gibt es exakt einen Befehl, der mit einem Semikolon abzuschließen ist, und zwar zwingend, der Befehl lautet return;
Grund für das Semikolon:
return verlässt das Programm und gibt einen Rückgabewert an die aufrufende Instanz zurück. Der Rückgabewert besteht aus dem Wert, der nach dem return kommt.
Nun könnte man auf die Idee kommen, z.B. return 4 zu schreiben, das führt aber zu einem Fehler, denn der Code wird nicht als Unterprogramm aufgerufen, es ist also an dieser Stelle nicht erlaubt, dass return einen Wert zurück liefert. Dieses "Sonderverhalten" wird mit dem ; erreicht.
openHAB4.3.5 stable in einem Debian-Container (bookworm) (Proxmox 8.4.1, LXC), mit openHABian eingerichtet
-
- Beiträge: 254
- Registriert: 31. Jan 2022 06:35
Re: Powershell mit OH starten?
Habe ich wie hier beschrieben gerade versucht, jedoch mit dem gleichen Ergebnis. Der timeout hat bei mir zumindest nichts gebracht.
https://community.openhab.org/t/execute ... e/144536/3
noch als Ergänzung: Ja, das Semikolon hat dann nichts gebracht
https://community.openhab.org/t/execute ... e/144536/3
noch als Ergänzung: Ja, das Semikolon hat dann nichts gebracht

- udo1toni
- Beiträge: 15263
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Powershell mit OH starten?
Hast Du openHAB schon im Debug-Modus laufen lassen?
openHAB4.3.5 stable in einem Debian-Container (bookworm) (Proxmox 8.4.1, LXC), mit openHABian eingerichtet
-
- Beiträge: 254
- Registriert: 31. Jan 2022 06:35
Re: Powershell mit OH starten?
Habe es mit dem Batch file "start_debug" versucht. Aber das Ergebnis ist dasselbe. Im Logfile openhab.log sehe ich die gleiche Zeile wie schon ohne Debug Mode...
-
- Beiträge: 254
- Registriert: 31. Jan 2022 06:35
Re: Powershell mit OH starten?
Frage:
wäre es möglich dass du meine Rule 1:1 kopierst und bei dir kurz testen könntest? Ich denke nicht dass das Problem beim batch file liegt sondern eher beim OH-cmd oder der Rule so wie ich es geschrieben habe.
wäre es möglich dass du meine Rule 1:1 kopierst und bei dir kurz testen könntest? Ich denke nicht dass das Problem beim batch file liegt sondern eher beim OH-cmd oder der Rule so wie ich es geschrieben habe.