Hallo,
ich möchte mir eine Nachlaufzeit (Ausschaltverzögerung) mit über die Visu einstellbarer Zeit basteln. Die Zeit kann damit auch variabel sein, je nach Szene im Raum. Bei Relaxen oder TV könnte die Nachlaufzeit z.B. lang sein evtl. 2h, ansonsten 10 Minuten.
Ich denke mit autotimer und eine Zähl-Item (und evtl Hilfs-Item(s) )könnt dies machbar sein. Vielleicht hat ja jemand schon ein Beispiel parat?
Gruß Ivan
hier mal mal mein Vorschlag/Entwurf (nicht getestet!! (und sicher mit Logik- und Schreibfehlern))
Präsenzmelder schaltet per KNX Trigger
Trigger triggert Count, eval lädt den Zeitwert aus Parameter da Trigger nicht false
Count triggert Aktiv, da Count größer als 1 wird Aktiv true
Count triggert Takt, Takt wird true, autotimer läuft
nach 1 Minuten toggelt Takt und trigger Count, Count zählt jedoch nicht, da Trigger noch true (noch jemand im Raum)
erst sobald Trigger false ist (niemand wird im Raum vom PM erkannt), zählt count bei jedem Takt rückwärts.
wenn Count bis 0 runtergezählt hat, wird Aktiv false.
meldet PM Präsenz vor Nachlaufzeit abgelaufen, so wird Trigger wieder getriggert
Gruß Ivan
ich möchte mir eine Nachlaufzeit (Ausschaltverzögerung) mit über die Visu einstellbarer Zeit basteln. Die Zeit kann damit auch variabel sein, je nach Szene im Raum. Bei Relaxen oder TV könnte die Nachlaufzeit z.B. lang sein evtl. 2h, ansonsten 10 Minuten.
Ich denke mit autotimer und eine Zähl-Item (und evtl Hilfs-Item(s) )könnt dies machbar sein. Vielleicht hat ja jemand schon ein Beispiel parat?
Gruß Ivan
hier mal mal mein Vorschlag/Entwurf (nicht getestet!! (und sicher mit Logik- und Schreibfehlern))
Code:
[Flur] [[Nachlauf]] [[[Trigger]]] type = bool name = Praesenzmelder knx_dpt = 1 knx_listen = 10/0/63 [[[[Parameter]]]] name = Nachlaufzeit in Minuten type = num visu_acl = rw value = 10 [[[Aktiv]]] name = Aktiv solange jemand im Raum incl. Nachlaufzeit type = bool eval = 1 if sh.Flur.Nachlauf.Count() > 1 else 0 eval_trigger = Flur.Nachlauf.Count [[[[Count]]]] type = num eval = (sh.Flur.Nachlauf.Count()-1) if (int(value) > 0 & sh.Flur.Nachlauf.Trigger() == 0) else (sh.Flur.Nachlauf.Parameter()+1) eval_trigger = Nachlauf.Trigger | Nachlauf.Aktiv.Takt value = 0 [[[[Takt]]]] name = Take je Minute type = bool value = 0 autotimer = 1m = 0 eval = not sh.Flur.Nachlauf.Takt() if sh.Flur.Nachlauf.Aktiv() else sh.Flur.Nachlauf.Takt() eval_trigger = Flur.Nachlauf.Count
Präsenzmelder schaltet per KNX Trigger
Trigger triggert Count, eval lädt den Zeitwert aus Parameter da Trigger nicht false
Count triggert Aktiv, da Count größer als 1 wird Aktiv true
Count triggert Takt, Takt wird true, autotimer läuft
nach 1 Minuten toggelt Takt und trigger Count, Count zählt jedoch nicht, da Trigger noch true (noch jemand im Raum)
erst sobald Trigger false ist (niemand wird im Raum vom PM erkannt), zählt count bei jedem Takt rückwärts.
wenn Count bis 0 runtergezählt hat, wird Aktiv false.
meldet PM Präsenz vor Nachlaufzeit abgelaufen, so wird Trigger wieder getriggert
Gruß Ivan
Kommentar