g60vx hat geschrieben:Die SV "Minuten vor SA" ist ja positiv, beginnt um 00.00 Uhr in deinem Bsp.also 355 min.
Das ist jetzt nicht wirklich Dein Ernst? Du setzt ein Script ein, um den Sonnenaufgang um 10 Minuten zu verzögern? Den Zeitpunkt Sonnenaufgang hat das System von Haus aus im Zeitmodul und die Verzögerungen ebenso. Wozu also noch diese Klimmzüge mit Scripten, als Systemvariablen gewandelten Uhrzeiten und der restliche Überhang mit dem Du Dir nur Probleme einhandelst und das System unnötig belastest (z.B. mit einem Script, welches Du 288 mal am Tag laufen lässt, welches Dir am Ende Schaltpunkte zur Verfügung stellt, die das System schon so hat)?!
Das ist jetzt genau die Konstellation, die ich schon beim Heizungsscript bemängelt habe. Dort stoßen Neueinsteiger drauf, meinen damit den Stein der Weisen und die "Lösung" für ihr "Problem" gefunden zu haben und ignorieren die systemeigenen Lösungen, nur weil diese systemeigenen Funktionen nicht so prominent im Forum behandelt werden, weil sie einfach sind und im Normalfall problemlos funktionieren, dass dort nicht so viel Diskussionsbedarf besteht. Solche Scriptlösungen sind meist Monsterthreads, die auch noch oft aufgerufen werden.
Nun zu Deinem Problem:
Du willst also, dass eine halbe Stunde nach Sonnenuntergang bzw. spätestens um 22:30 Uhr die Rollladen runter gehen. Dann sollen sie 10 Minuten nach Sonnenaufgang aber nicht vor 7:15 Uhr wieder hochgehen. Tagsüber wünscht Du eine Beschattungsfunktion bei heiterem Wetter und mehr als 22°C Außentemperatur. Ich versuche das mal, in ein Programm mit systemeigenen Funktionen zzgl. Deiner Wettervariable für die Beschattung zu packen. Ich verwende eigentlich für sich überlagernde Funktionen grundsätzlich getrennte Programme. Diese verhindert auch Fehlinterpretationen, wenn ein Programm durch irgendeinen Trigger gestartet, die dazugehörigen anderen Bedingungen aber nicht passen. Somit wird dann nicht ein falsches DANN abgearbeitet. Das ist nämlich genau Dein Problem. Eine CCU kann eine ganze Menge Programme verwalten, aber nicht die Wünsche des Anwenders lesen.
Code: Alles auswählen
WENN Zeitmodul täglich nachts zu Zeitpunkten auslösen
ODER Zeitmodul täglich um 22:00 Uhr zu Zeitpunkten auslösen
UND
Systemzustand CCU-Status bei normal nur prüfen
UND Systemzustand Automatikfunktion AN nur prüfen
DANN Systemzustand SV_Rollostatus verzögert um 30 Minuten ZU
SONST WENN Zeitmodul täglich tagsüber zu Zeitpunkten auslösen
UND Zeitmodul täglich um 07:05 Uhr bis 08:30 Uhr zu Zeitpunkten auslösen
UND
Systemzustand CCU-Status bei normal nur prüfen
UND Systemzustand Automatikfunktion AN nur prüfen
DANN Systemzustand SV_Rollostatus verzögert um 10 Minuten AUF
SONST WENN Systemzustand W_Bedingungen bei Heiter bei Aktualisierung auslösen
UND Systemzustand W_Temperatur größer als 22°C bei Aktualisierung auslösen
UND Systemzustand SV-Rollostatus AUF nur prüfen
UND Systemzustand CCU-Status normal nur prüfen
UND Systemzustand Automatikfunktionen AN nur prüfen
DANN Systemzustand SV_Rollostatus sofort Beschattung
Zur Erklärung: so ca. 08:30 Uhr dürfte der späteste Zeitpunkt in Deutschland sein, an dem im Winter die Sonne aufgeht. Daher kommt diese Uhrzeit. Die Beschattung ist am umfangreichsten, da es durchaus möglich ist, dass die Nachttemperaturen im Hochsommer bei größer 22°C bleiben. Darum noch die Prüfung gegen die SV_Rollostatus AUF, damit nicht schon beim Sonnenaufgang der Status gesetzt wird. Die Sonne muss also aufgegangen sein und es muss heiter und größer 22°C sein. Und ein bei Aktualisierung oder Änderung schließt immer ein Prüfen mit ein.
Ich hoffe ich habe nichts vergessen.
Gruß Xel66