Klar.Accuracy hat geschrieben:kannst du kurz mal schildern, wie du das in CuxD mit den Timern realisiert hast?
Also, zunächst legt man einen CUxD-Timer als Gerät in der CCU an.
Ich habe den für meine Anwesenheitssimulation benötigten Timer mal rot umrandet.
Danach benötigt man ein WebUI-Programm, mit dem man den Timer triggert. Das nachfolgende Beispiel zeigt mit roter Umrandung das Setzen des CUxD-Timers auf 48 Stunden (172800 Sekunden) und das Aufheben einer etwaigen Sperrung, wenn die Haustür von Außen verriegelt wird. Wird die Haustür entriegelt (grüne Umrandung) oder von Innen verriegelt (blaue Umrandung), wird der Timer gestoppt und gesperrt.
Das Sperren des Timers ist nötig, weil ich mit dem nachfolgenden Programm eine zugehöre Systemvariable setze, wenn der Timer den Wert Null erreicht hat. Und das passiert auch beim Stoppen des CUxD-Timers. Ich bin zwar kein so großer Fan dieser CUxD-Implementierung, sondern hätte es lieber, wenn der Timer einfach auf seinem letzten Wert bleibt, wenn man ihn stoppt, aber die CUxD-Timer arbeiten nun mal so, wie sie arbeiten. Und dank der Möglichkeit zum Sperren, gibt's ja auch eine durchaus praktikable Lösung. Man muss nur dran denken, insbesondere, wenn man mal einzelne CUxD-Timer vertauschen möchte. Aber das nur am Rande.
Im nachfolgenden WebUI-Programm wird nun eine Systemvariable "Haus SV Anwesenheitssimulation" bei Ablauf des CUxD-Timers auf den Wert "aktiv" gesetzt. Ändert sich der Status einer weiteren Systemvariablen "Haus SV Anwesenheit" auf "anwesend", wird die Systemvariable "Haus SV Anwesenheitssimulation" wieder auf "inaktiv" gesetzt.
Schließlich erfolgt noch die eigentliche Anwesenheitssimulation in Abhängigkeit vom Zustand der Systemvariablen "Haus SV Anwesenheitssimulation" gemäß nachfolgendem Programm, wobei ich für tagsüber und nachts unterschiedliche Szenarien fahre.
Ich hoffe, das alles war jetzt nicht zu verwirrend.
Bis dann,
Thorsten