homematic script via command line (ssh) ausführen?

Homematic-, TCL- und Shell-Script, Toolchain, C, etc.

Moderator: Co-Administratoren

Antworten
raulix
Beiträge: 8
Registriert: 22.12.2016, 22:39

homematic script via command line (ssh) ausführen?

Beitrag von raulix » 23.12.2016, 10:59

Kann man Homematic-Scripte auch direkt von der Shell (ssh) starten bzw. gibt es einen Interpreter?

In einem tcl-Skript hatte ich eine Funktion "rega_script" gesehen. Gibt es dazu ein equivalentes Binary?

Alternativ könnte ich versuchen über den Umweg eines Tcl-Skripts und mit der Funktion "rega_script" Homematic-Skripte auszuführen. Aber das sollte doch einfacher gehen...

Danke und viele Grüße
raulix

BadenPower

Re: homematic script via command line (ssh) ausführen?

Beitrag von BadenPower » 23.12.2016, 13:57

Erkläre einmal geanu, was Du mit dem Shell-Aufruf bezwecken möchtest. Am Besten anhand eines konkreten Beispiels. Vielleicht sind ja aber auch andere Alternativen besser geeignet.
.

raulix
Beiträge: 8
Registriert: 22.12.2016, 22:39

Re: homematic script via command line (ssh) ausführen?

Beitrag von raulix » 23.12.2016, 15:10

Ich möchte die Homematic-Scipte als Datei ablegen und dann in den Programmen (& Zentralenverknüfungen) mittels System.exec (evtl. auch cuxd.exec) aufrufen. Meine Hoffnung war, dass man den Scipten auch Parameter mitgeben kann.

Ziel:
- Backup von Skripts via scp
- bessere Übersicht, als wenn die Scripte nur inline in den Programm stehen.
- Vermeidung doppelter Code (Parameter)

BadenPower

Re: homematic script via command line (ssh) ausführen?

Beitrag von BadenPower » 23.12.2016, 15:51

raulix hat geschrieben:Ich möchte die Homematic-Scipte als Datei ablegen und dann in den Programmen (& Zentralenverknüfungen) mittels System.exec (evtl. auch cuxd.exec) aufrufen.
Wenn Du system.Exec() verwenden möchtest, dann geht der Weg über ein TCL-Skript.
raulix hat geschrieben:I Meine Hoffnung war, dass man den Scipten auch Parameter mitgeben kann.
Dazu wäre dann aus dem Skript im Programm heraus aber Call() oder #inc besser geeignet.
.

raulix
Beiträge: 8
Registriert: 22.12.2016, 22:39

Re: homematic script via command line (ssh) ausführen?

Beitrag von raulix » 23.12.2016, 21:58

Das wird mir weiterhelfen. Zuerst konnte ich mit Call() nicht anfangen, habe dann aber unter /www/rega Beispielcode gefunden.

Ich habe aber keine Funktionen mit Parametern gefunden. Macht man das mit Systemvariablen oder gibt es noch eine undokumentierte Syntax.

BadenPower

Re: homematic script via command line (ssh) ausführen?

Beitrag von BadenPower » 23.12.2016, 22:30

raulix hat geschrieben:Macht man das mit Systemvariablen
Nein, einfach mit Skriptvariablen.

Skriptvariablen, welche man in einem Skript deklariert sind grundsätzlich global gültig.
Vorsichtshalber sollte man aber in den ausgelagerten Skriptabschnitten die Skriptvariablen auf eine gültige Deklaration und den korrekten Datentyp prüfen.
.

raulix
Beiträge: 8
Registriert: 22.12.2016, 22:39

Re: homematic script via command line (ssh) ausführen?

Beitrag von raulix » 24.12.2016, 00:28

super. danke.

raulix
Beiträge: 8
Registriert: 22.12.2016, 22:39

Re: homematic script via command line (ssh) ausführen?

Beitrag von raulix » 25.02.2017, 22:02

Also ich habe es jetzt endlich mal geschafft, die gewünschte Funktionalität umzusetzen. Das war mit viel Kopfschmerzen verbunden. Schöner Code ist es nicht geworden. Extrem viele Redundanzen (16-LED-Anzeige).

Die oben genannte call-Funktion hat nicht funktioniert - theoretisch ja, praktisch aber nicht. Problem ist, dass die Homematik/Rega-Skript gecacht werden. Wenn man also eine Änderung an seinem Script vornimmt, dann bekommt man noch den alten Output. Bevor Code funktioniert, muss man halt ein bisschen debuggen...

system.ClearCache hat daran nichts geändert. Mit system.CacheMode(0) habe ich Fehler bei der Ausführung bekommen. Außerdem musste das WebUI danach neu gestartet werden...

Die einzige Möglichkeit, Code wiederzuverwenden war: var programObj = dom.GetObject("Anderes Programm"); programObj.ProgramExecute();

pmatic war noch eine vielversprechene Alternative. Es läuft aber auf der CCU2 viel zu langsam. Abfrage aller Räume dauerte 3 Minuten und Prozessorauslastung bei über 90%.

Ich werde wohl auf OpenHAB auf einem weitern Rechner installieren...

Antworten

Zurück zu „Softwareentwicklung für die HomeMatic CCU“