Reproduzierbarer Fehler in CCU

Anbindung von FS20-Komponenten, ELV-Wetterstationen, EnOcean und DMX an HomeMatic

Moderator: Co-Administratoren

Antworten
dieter56
Beiträge: 10
Registriert: 06.02.2012, 12:27

Reproduzierbarer Fehler in CCU

Beitrag von dieter56 » 14.05.2013, 19:16

Hallo,

Auf meiner CCU (Version 1.508) starte ich mit dem Befehl

dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("/bin/tclsh /usr/local/addons/my/test.tcl");

das TCL-Script "test.tcl":
-------------------
load tclrega.so
set a 0
while {$a < 200} {
incr a
rega_script "dom.GetObject('test').State('$a');"
after 1000
}
-------------------
Das Programm zählt die Variable a sekündlich hoch und überträgt des Ergebnis in eine Systemvariable "test".
Das kuriose ist, bei 115 (manchmal bei 116) bricht das Programm ab. Hat jemand eine Erklärung dafür? (CuxD-Version 0.573)
CCU-Firmware: 1.509 , CUxD Version 0.573

Benutzeravatar
uwe111
Beiträge: 4820
Registriert: 26.02.2011, 22:22
Hat sich bedankt: 3 Mal
Danksagung erhalten: 246 Mal
Kontaktdaten:

Re: Reproduzierbarer Fehler in CCU

Beitrag von uwe111 » 14.05.2013, 20:53

Hallo dieter56,

welchen Wert hat der Geräte-Parameter EXEC_TIMEOUT?
Ich vermute, dass der Prozess nach der eingetragenen Maximallaufzeit automatisch vom CUxD beendet wird.

Diese Art der Programmierung sollte man auf der CCU nach Möglichkeit vermeiden.
Für die CCU eignen sich am besten ereignisgesteuerte Programme, wobei die einzelnen Funktionen dann eine relativ kurze Laufzeit haben sollten. Oder Du erhöhst EXEC_TIMEOUT entsprechend.

Viele Grüße,

Uwe.
Alle sagten: Das geht nicht. Dann kam einer, der wußte das nicht und hat's einfach gemacht.
SPENDEN :wink: Download: CUxD 2.11, SSH KeyDir

dieter56
Beiträge: 10
Registriert: 06.02.2012, 12:27

Re: Reproduzierbarer Fehler in CCU

Beitrag von dieter56 » 15.05.2013, 12:14

Hallo Uwe,
Danke für Deine schnelle Antwort. Mir war nicht klar, das das System Prozesse nach einer bestimmten Zeit einfach cancelt. Ich hatte vor ein TCL-Script zu schreiben, das ständig läuft und in Abhängigkeit von Tageszeit, Sonnenstand, Wetter, Feiertag, Urlaub, etc. meine Geräte ansteuert.
Die Homematic-Scriptsprache halte ich für dafür nicht geeignet. (keine OOP, nicht einmal Funktionen möglich)
Eine globale Hausautomatisierung in der WEBUI zusammenzuklicken wird bei größeren Projekten schnell unübersichtlich und damit fehleranfällig. Langfristig wird man um ein C-Programm wahrscheinlich nicht umhinkommen.
Jetzt werde ich erst einmal meine TCL-Scripte periodisch aufrufen.
Nochmals vielen Dank!
CCU-Firmware: 1.509 , CUxD Version 0.573

Benutzeravatar
uwe111
Beiträge: 4820
Registriert: 26.02.2011, 22:22
Hat sich bedankt: 3 Mal
Danksagung erhalten: 246 Mal
Kontaktdaten:

Re: Reproduzierbarer Fehler in CCU

Beitrag von uwe111 » 15.05.2013, 13:42

Wenn Du die Prozessüberwachung nicht nutzen möchtest und das Script ständig laufen soll, dann schicke es beim Aufruf doch einfach mit & in den Hintergrund.
Dann musst Du Dir nur überlegen, wie Du den Prozess später wieder beenden kannst bzw. wie Du verhinderst, dass er mehrfach gestartet wird.

Viele Grüße,

Uwe.
Alle sagten: Das geht nicht. Dann kam einer, der wußte das nicht und hat's einfach gemacht.
SPENDEN :wink: Download: CUxD 2.11, SSH KeyDir

dieter56
Beiträge: 10
Registriert: 06.02.2012, 12:27

Re: Reproduzierbarer Fehler in CCU

Beitrag von dieter56 » 15.05.2013, 14:14

Hallo Uwe,
Wie mache ich das mit dem "... doch einfach mit & in den Hintergrund ..."? Und wo kann man so was Schlaues alles nachlesen?
Gruß
Dieter
CCU-Firmware: 1.509 , CUxD Version 0.573

DrTob
Beiträge: 3426
Registriert: 29.10.2010, 08:24
Danksagung erhalten: 5 Mal

Re: Reproduzierbarer Fehler in CCU

Beitrag von DrTob » 15.05.2013, 14:32

In der CuxD-Dokumentation :)

Antworten

Zurück zu „CUxD“