WritelLine und system.Exec() wohin?

Einrichtung, Anschluss und Programmierung der HomeMatic CCU

Moderator: Co-Administratoren

Antworten
Roland816
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?

Beitrag von Roland816 » 06.06.2023, 07:31

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!
CCU3, RaspberryMatic, Heizungssteuerung mittels Heizkörperthermostate, Rolladensteuerung und Haussicherheit. Programme, Skripte

Silverstar
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?

Beitrag von Silverstar » 06.06.2023, 07:36

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); 

Roland816
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?

Beitrag von Roland816 » 06.06.2023, 08:28

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?
CCU3, RaspberryMatic, Heizungssteuerung mittels Heizkörperthermostate, Rolladensteuerung und Haussicherheit. Programme, Skripte

Silverstar
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?

Beitrag von Silverstar » 06.06.2023, 08:34

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.

Xel66
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?

Beitrag von Xel66 » 06.06.2023, 09:11

Roland816 hat geschrieben:
06.06.2023, 08:28
Konkret: Was muss ich eingeben damit es in eine Datei umgeleitet wird?
Eine Antwort findest Du z.B. >>>hier<<<.

Gruß Xel66
-------------------------------------------------------------------------------------------
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

Roland816
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?

Beitrag von Roland816 » 06.06.2023, 13:59

Danke, hinter dem Link kommt das was ich seit langem gesucht und nicht gefunden habe.
Da brauche ich einige Zeit um das aufzuarbeiten.
CCU3, RaspberryMatic, Heizungssteuerung mittels Heizkörperthermostate, Rolladensteuerung und Haussicherheit. Programme, Skripte

Antworten

Zurück zu „HomeMatic Zentrale (CCU / CCU2 / CCU3 / Charly)“