OK, also reine Astrosteuerung im Zusammenhang mit dem anderen Programm. Da es im überwiegenden Anteil des Jahres nicht um 4:44 Uhr hell ist wäre ein Rückstellen der Variable bei Sonnenaufgang zielführender. Aber wie Du willst. Um das auf Sonnenaufgang umzustellen reicht es, einfach im SONST die Variable auf "hell" zu stellen. Das Zeitmodul löst beim Ein- und Austritt des Zeitbereichs "nachts" aus und die WENN-Abfrage ergibt bei Sonnenaufgang ein FALSCH, so dass das SONST greifen würde.
Aber sie lösen eben ohne Gegenprüfung der Notwendigkeit aus und steuern die Rollladen noch mal unnötig an. Da dieses ein tägliches jeweils "einmaliges" Ereignis ist, ist es nicht so für den Duty Cycle schädlich.Tolados hat geschrieben: ↑14.10.2023, 21:12- Blöcke 2-4 lösen zu einer fixen Uhrzeit aus. 3 und 4 sollen die Rolläden in der dunkleren Jahreszeit runterlassen, wenn Block 1 nicht gelaufen ist, weil ich es für den Tag aus irgendeinem Grund manuell verhindert habe, oder einzelne Rolläden zum Lüften nochmal geöffnet wurden
Denkfehler nicht. Es ist das unerwartete Verhalten der CCU, die Bedingungsprüfung des Programms trotz der Auswahl auf "bei Änderung" im Takt der Statusübermittlung zu triggern. Aber das Löschen des Blocks ist in dem Falle auch zielführend.
Das sind separate Bedingungen und sollten getrennt behandelt werden.
Ja, dafür gibt es leider keine Prüfung. Hier wäre eine Auswahlmöglichkeit der Monate in der jährlichen Steuerung (analog wie die Wochentage in der wöchentlichen Steuerung) wünschenswert. Ich habe als Alternative für eine ähnliche Steuerung einfach die Variable "Heizperiode" herangezogen, denn ich fahre die Rollladen nur als zusätzlichen thermische Isolierung in der kalten Jahreszeit früher runter. Eine Astrosteuerung gibt es nur für das Hochfahren am Morgen (nicht vor Sonnenaufgang). Aber meine Rollladensteuerung ist viel komplexer aufgebaut (u.a. Berücksichtigung von Schichtarbeit) und funktioniert grundsätzlich anders (ich steuere über Systemvariablen und es gibt pro Rollladen nur ein einziges Programm mit direktem Zugriff auf den Aktor).
Soweit die Theorie, aber da das Programm die Variable sowieso alle drei Minuten zurückgestellt hat, war der Effekt für den Aussperrschutz theoretisch auch verpufft. Nur die 4-minütige Verzögerung hat die Funktionalität sichergestellt. Nur für den eher unwahrscheinlichen Fall, dass Du um 05:04 Uhr den Aussperrschutz benötigt hättest, hätte es nicht funktioniert. Aber an der Stelle könnte man trotzdem eine Sperrvariable setzen, die eine zyklische Ausführung verhindert. Die Rollladen wurden aber trotzdem angesteuert. Da Du den letzten, für die zyklische Triggerung verantwortlichen Block aber gelöscht hast, sollte das Problem nun gelöst sein.
Auf den Duty Cycle hat das keinen Einfluss, da die Anzahl der gesendeten Befehle gleich bliebe oder bei korrekter Umsetzung sogar geringer wäre. Es wären nur mehr Programme und mehr Klickarbeit. Die Anzahl der Programme ist nicht so das Problem. Die Übersicht stelle ich durch eine gruppierende Namensgebung sicher (z.B. die Namen aller Rollladenprogramme beginnen mit "Rollladen..." oder die Heizungsprogramme mit "Heizung..."). Ich habe lieber mehr "einfache" Programme als irgendwelche Monster, deren Funktion nur schlecht überschaubar ist.
Gruß Xel66