Wenn wir ein Skript austesten dann bekommen wir in dem Ergebnisfenster immer die mit WriteLine generierten Ausgaben.
Was passiert mit denen wenn das Skript im Programm eingebaut ist und das Programm ausgeführt wird?
Da vermute ich dass die Ausgaben an >NULL gesendet werden.
Wie läuft das aber mit system.Exec() ab?
Hintergreund: Möchte mit einem url-Befehl ein Gerät steuern. Dazu lies sich mich von
https://homematic-guru.de/quicktipp-hom ... c-ersetzen
inspirieren, bekomme jedoch keine Erfolgs oder Ergebnismeldung.
Kann mir einer eine Stelle benennen an der das erklärt ist oder es hier erklären!
WritelLine und system.Exec() wohin?
Moderator: Co-Administratoren
-
- Beiträge: 89
- Registriert: 26.01.2019, 14:29
- System: CCU und Access Point
- Wohnort: Friedrichshafen
- Hat sich bedankt: 30 Mal
- Danksagung erhalten: 4 Mal
WritelLine und system.Exec() wohin?
CCU3, RaspberryMatic, Heizungssteuerung mittels Heizkörperthermostate, Rolladensteuerung und Haussicherheit. Programme, Skripte
-
- Beiträge: 369
- Registriert: 11.02.2020, 12:14
- System: Alternative CCU (auf Basis OCCU)
- Hat sich bedankt: 94 Mal
- Danksagung erhalten: 68 Mal
Re: WritelLine und system.Exec() wohin?
Man kann dem system.exec mitgeben, wohin die Ausgabe erfolgen soll:
Code: Alles auswählen
string stdout;
string stderr;
string cmd = "/bin/sh -c 'crypttool -g'";
system.Exec(cmd, &stdout, &stderr);
WriteLine("Ausgabe:\n"#stdout);
WriteLine("Fehler:\n "#stderr);
-
- Beiträge: 89
- Registriert: 26.01.2019, 14:29
- System: CCU und Access Point
- Wohnort: Friedrichshafen
- Hat sich bedankt: 30 Mal
- Danksagung erhalten: 4 Mal
Re: WritelLine und system.Exec() wohin?
Das funktioniert im Testfenster für Skripts.
Wenn es in die WEBUI eingebunden ist dann habe ich ja kein Ausgabefenster, geht es dann an >NULL oder ?
Sorry, dass ich so blöde frage. Mir fehlen hier Zusammenhänge.
Konkret: Was muss ich eingeben damit es in eine Datei umgeleitet wird?
Kann man es auch auf eine neue Seite im Browser senden?
Wenn es in die WEBUI eingebunden ist dann habe ich ja kein Ausgabefenster, geht es dann an >NULL oder ?
Sorry, dass ich so blöde frage. Mir fehlen hier Zusammenhänge.
Konkret: Was muss ich eingeben damit es in eine Datei umgeleitet wird?
Kann man es auch auf eine neue Seite im Browser senden?
CCU3, RaspberryMatic, Heizungssteuerung mittels Heizkörperthermostate, Rolladensteuerung und Haussicherheit. Programme, Skripte
-
- Beiträge: 369
- Registriert: 11.02.2020, 12:14
- System: Alternative CCU (auf Basis OCCU)
- Hat sich bedankt: 94 Mal
- Danksagung erhalten: 68 Mal
Re: WritelLine und system.Exec() wohin?
Das war ein Beispiel, um dir aufzuzeigen, wie man die stdout und stderr aus dem system.exec weiter verarbeiten kann. Dein nächster Schritt ist nun, diese Ausgabe zum Beispiel in eine Systemvariable zu schreiben und dann kannst du diese nach dem Programmlauf in der webui anschauen oder weiteres damit anstellen.
-
- Beiträge: 14169
- Registriert: 08.05.2013, 23:33
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Nordwürttemberg
- Hat sich bedankt: 586 Mal
- Danksagung erhalten: 1501 Mal
Re: WritelLine und system.Exec() wohin?
-------------------------------------------------------------------------------------------
524 Kanäle in 146 Geräten und 267 CUxD-Kanäle in 34 CUxD-Geräten:
343 Programme, 334 Systemvariablen und 183 Direktverknüpfungen,
RaspberryMatic Version: 3.65.11.20221005 + Testsystem: CCU2 2.61.7
-------------------------------------------------------------------------------------------
Einsteigerthread, Programmlogik-Thread, WebUI-Handbuch
524 Kanäle in 146 Geräten und 267 CUxD-Kanäle in 34 CUxD-Geräten:
343 Programme, 334 Systemvariablen und 183 Direktverknüpfungen,
RaspberryMatic Version: 3.65.11.20221005 + Testsystem: CCU2 2.61.7
-------------------------------------------------------------------------------------------
Einsteigerthread, Programmlogik-Thread, WebUI-Handbuch
-
- Beiträge: 89
- Registriert: 26.01.2019, 14:29
- System: CCU und Access Point
- Wohnort: Friedrichshafen
- Hat sich bedankt: 30 Mal
- Danksagung erhalten: 4 Mal
Re: WritelLine und system.Exec() wohin?
Danke, hinter dem Link kommt das was ich seit langem gesucht und nicht gefunden habe.
Da brauche ich einige Zeit um das aufzuarbeiten.
Da brauche ich einige Zeit um das aufzuarbeiten.
CCU3, RaspberryMatic, Heizungssteuerung mittels Heizkörperthermostate, Rolladensteuerung und Haussicherheit. Programme, Skripte