Zeitverzögerung in Homematicscripten?

Einrichtung, Anschluss und Programmierung der HomeMatic CCU

Moderator: Co-Administratoren

HMTester
Beiträge: 190
Registriert: 06.09.2010, 19:32
Hat sich bedankt: 2 Mal

Re: Zeitverzögerung in Homematicscripten?

Beitrag von HMTester » 06.05.2012, 21:37

Hallo Basic
Danke Euch allen. So werde ich das hinbekommen, was ich suche.
SUFU hatte ich benutzt, aber mir ist wohl das Wort Einschaltdauer nicht in den Sinn gekommen. Ich habe nach Zeitverzögerung gesucht. :D
Schönen Sonntag noch.
Rudi
--------------------------------------------
• CCU auf Tinkerbord S
• ca 110 HM Geräte im Einsatz
--------------------------------------------

HMTester
Beiträge: 190
Registriert: 06.09.2010, 19:32
Hat sich bedankt: 2 Mal

Re: Zeitverzögerung in Homematicscripten?

Beitrag von HMTester » 07.05.2012, 08:21

Ups, wollte mit dieser Funktion die grünen LEDs meiner LED Anzeige per Script nach einer Minute ausschalten. "ON_Time" gibts da leider nicht. Der ist wohl bloß bei den Schaltaktoren verfügbar. Da muß ich mir etwas anderes ausdenken. Nun ja.... vielleicht fällt mir noch etwas ein.
LG Rudi
--------------------------------------------
• CCU auf Tinkerbord S
• ca 110 HM Geräte im Einsatz
--------------------------------------------

matheversum
Beiträge: 287
Registriert: 27.04.2009, 13:46

Re: Zeitverzögerung in Homematicscripten?

Beitrag von matheversum » 07.05.2012, 12:54

sowas hatte ich auch mal:
Ich habe im UI-Program zwei scripte aufgerufen, den einen gleich (z.B. zum Anschalten) und den zweiten verzögert um z.B. 1 Minute zum Ausschalten.

HMTester
Beiträge: 190
Registriert: 06.09.2010, 19:32
Hat sich bedankt: 2 Mal

Re: Zeitverzögerung in Homematicscripten?

Beitrag von HMTester » 07.05.2012, 18:23

Hi matheversum,
Ja klar, das geht, das habe ich auch probiert.
Dann habe ich aber auch im schlimmsten Fall 16 WEB-UI Programme, für jede LED eines. Und das ist mir etwas zuviel des guten.
Rudi
--------------------------------------------
• CCU auf Tinkerbord S
• ca 110 HM Geräte im Einsatz
--------------------------------------------

MaxWrestler
Beiträge: 237
Registriert: 11.12.2011, 12:19
Danksagung erhalten: 1 Mal

Re: Zeitverzögerung in Homematicscripten?

Beitrag von MaxWrestler » 07.05.2012, 22:31

Hallo Rudi,
warum willst du es als Script haben ?
Und hast du CuxD installiert ?

HMTester
Beiträge: 190
Registriert: 06.09.2010, 19:32
Hat sich bedankt: 2 Mal

Re: Zeitverzögerung in Homematicscripten?

Beitrag von HMTester » 08.05.2012, 08:13

Moin
CuxD habe ich nicht, da ich alle FS20 Geräte verkauft habe. Habe nur noch HM Produkte installiert. Oder ist das Ding noch zu etwas anderem zu gebrauchen?
Und warum ich das als Script haben will, weil ich mich damit beschäftige und nicht 16 Einzelprogramme für die LED Anzeige haben will, vorrausgesetzt ich will jede LED separat ansteuern.
LG Rudi
--------------------------------------------
• CCU auf Tinkerbord S
• ca 110 HM Geräte im Einsatz
--------------------------------------------

matheversum
Beiträge: 287
Registriert: 27.04.2009, 13:46

Re: Zeitverzögerung in Homematicscripten?

Beitrag von matheversum » 08.05.2012, 10:45

Naja nicht unbedingt. Ich kenne Dein Problem nicht und habe das LED-Teil nicht, aber DU hast ein Programm in der UI welches auslöst bei Änderung/Aktualisierung LED1 oder LED2 oder ... das ist zugegeben der mühsame und langweilige Klickerteil.
Das Programm weis dann über $SRC, wer der Auslöser war, dann hast Du evtl. ein "generisches" Programm für alle; ob das funktioniert hängt natürlich stark von Deinem Problem ab.

MaxWrestler
Beiträge: 237
Registriert: 11.12.2011, 12:19
Danksagung erhalten: 1 Mal

Re: Zeitverzögerung in Homematicscripten?

Beitrag von MaxWrestler » 08.05.2012, 21:18

HMTester hat geschrieben:Moin
CuxD habe ich nicht, ... Oder ist das Ding noch zu etwas anderem zu gebrauchen?
Aua,Ja !!! Cuxd kann noch viel mehr !
Zb. ganz easy USB Stick mounten,oder Netzwerkgeräte anpingen und auswerten im HM Programm,schnelle Übersicht über Speicherverbrauch und CPU Auslastung,
Datenpunkte loggen zb auf USB und seit neuestem einen Ersatz für SystemExec() !
Und genau diesen bräuchtest du um von der Script Ebene aus mein kleines TCL Script zu starten.
CuxD erzeugt für diesen Aufruf einen eigenen Prozess und überwacht ihn,hängt dieser Prozess aus welchen gründen auch immer, wird nach 5 Minuten derselbige terminiert.

Kurzes Script Beispiel, hier wird ein Aktor alle 5 Sekunden Ein und Ausgeschaltet (alle 4 Timer werden gleichzeitig gestartet !)

Code: Alles auswählen

dom.GetObject("CUxD.CUX2801121:1.CMD_EXEC").State("tclsh /usr/local/timer.tcl BidCos-RF.IEQ0504341:1.STATE 1 5");
dom.GetObject("CUxD.CUX2801121:1.CMD_EXEC").State("tclsh /usr/local/timer.tcl BidCos-RF.IEQ0504341:1.STATE 0 10");
dom.GetObject("CUxD.CUX2801121:1.CMD_EXEC").State("tclsh /usr/local/timer.tcl BidCos-RF.IEQ0504341:1.STATE 1 15");
dom.GetObject("CUxD.CUX2801121:1.CMD_EXEC").State("tclsh /usr/local/timer.tcl BidCos-RF.IEQ0504341:1.STATE 0 20");
MIt der LED Anzeige dann etwa so

Code: Alles auswählen

dom.GetObject("CUxD.CUX2801121:1.CMD_EXEC").State("tclsh /usr/local/timer.tcl BidCos-RF.IEQ1234567:1.ALL_LEDS 2863311530 60");
! für alle LED´s der Statusanzeige nach 60 Sekunden auf grün.
Hier geht es zur neuesten Version von CuxD !
timer TCL.zip
TCL Script
(505 Bytes) 173-mal heruntergeladen

Benutzeravatar
metaxa
Beiträge: 649
Registriert: 01.10.2011, 00:03
Wohnort: südliches Wien
Hat sich bedankt: 3 Mal

Re: Zeitverzögerung in Homematicscripten?

Beitrag von metaxa » 20.02.2013, 23:10

MaxWrestler hat geschrieben:Und genau diesen bräuchtest du um von der Script Ebene aus mein kleines TCL Script zu starten.
CuxD erzeugt für diesen Aufruf einen eigenen Prozess und überwacht ihn,hängt dieser Prozess aus welchen gründen auch immer, wird nach 5 Minuten derselbige terminiert.

Kurzes Script Beispiel, hier wird ein Aktor alle 5 Sekunden Ein und Ausgeschaltet (alle 4 Timer werden gleichzeitig gestartet !)

Code: Alles auswählen
dom.GetObject("CUxD.CUX2801121:1.CMD_EXEC").State("tclsh /usr/local/timer.tcl BidCos-RF.IEQ0504341:1.STATE 1 5");
dom.GetObject("CUxD.CUX2801121:1.CMD_EXEC").State("tclsh /usr/local/timer.tcl BidCos-RF.IEQ0504341:1.STATE 0 10");
dom.GetObject("CUxD.CUX2801121:1.CMD_EXEC").State("tclsh /usr/local/timer.tcl BidCos-RF.IEQ0504341:1.STATE 1 15");
dom.GetObject("CUxD.CUX2801121:1.CMD_EXEC").State("tclsh /usr/local/timer.tcl BidCos-RF.IEQ0504341:1.STATE 0 20");MIt der LED Anzeige dann etwa so
Code: Alles auswählen
dom.GetObject("CUxD.CUX2801121:1.CMD_EXEC").State("tclsh /usr/local/timer.tcl BidCos-RF.IEQ1234567:1.ALL_LEDS 2863311530 60");
! für alle LED´s der Statusanzeige nach 60 Sekunden auf grün.
Hier geht es zur neuesten Version von CuxD !


timer TCL.zip
TCL Script
Hallo Wissende!

Ich hab mir den obigen Teil nun schon 20x durchgelesen. Was ich nur überhaupt nicht verstehe:

Wohin kommt das TCL Script "timer.tcl" (Zipdatei)

Code: Alles auswählen

load tclrega.so
set wait_in_seconds [lindex $argv 2]

after [expr $wait_in_seconds * 1000]

set do_it [rega_script "var obj = dom.GetObject(\"[lindex $argv 0]\").State(\"[lindex $argv 1]\");" ]
und wohin der Aufruf der einzelnen Aktoren (Beispiel)?

Code: Alles auswählen

tclsh /usr/local/timer.tcl BidCos-RF.IEQ1234567:1.ALL_LEDS 2863311530 60
# für alle LED´s der Statusanzeige nach 60 Sekunden auf grün
In ein und das selbe Script? Wenn ja, in welcher Reighenfolge? Wohl umgekehrt, zuerst der Inhalt der Zipdatei und danach der Aufrauf im gleichen Script? Ich kapiere es einfach nicht ...

Bitte um Eure Hilfe, ich will das zumindest zum Teil verstehen.

Danke und Lg
mxa

MaxWrestler
Beiträge: 237
Registriert: 11.12.2011, 12:19
Danksagung erhalten: 1 Mal

Re: Zeitverzögerung in Homematicscripten?

Beitrag von MaxWrestler » 21.02.2013, 09:15

Hallo metaxa,
Uwe111 hat das kleine Script mit in CUxD aufgenommen.
Es ist nun unter /usr/local/addons/cuxd/extra/timer.tcl zu erreichen.

Hast du CUxD installiert ?
Ohne CUxD müsstest du das tcl Script mit System.Exec aufrufen,und das kann ich dir nicht empfehlen.

schöne Grüße

MaxW.

Antworten

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