Das grundsätzliche Konzept kann ich mal "kurz" umreißen. Ein vernünftiges PDF der kompletten Steuerung draus zu machen, ist mir dann doch zu aufwändig, zumal meine Lösung an einigen Stellen recht individuell ist (so, wie sie wahrscheinlich bei jedem Anwender unterschiedlich ist). Aber trotzdem sollte sich das Prinzip, auf dem jeder seine eigene Lösung aufbauen kann, erkennen lassen.
Als erstes legt man zwei Systemvariablen an. Für die Beschattungssteuerung könnte man auch noch eine dritte anlegen, aber ich habe das bei mir anders gelöst. Diese Programme steuern bei mir den Aktor direkt an, weil die Beschattungszeiten grundsätzlich zwischen den normalen Öffnungs- und Schließzeiten liegen. Somit bleibt auch der Sollzustand gespeichert. Man benötigt also eine Systemvariable vom Typ Logik, um die grundsätzlich Sollstellugen oben/unten abzubilden. Als zweites benötigt man eine Systemvariable vom Typ Zahl für die Behanghöhe. Als Wertebereich nutze ich hier 0-100.
Diese Systemvariablen ordnet man dann vorteilhafterweise dem Aktor zu. Somit lassen sie sich auch direkt aus dem Gerätedialog anwählen. Hier mal am Beispiel der Variable für den Sollwert-unten. Der Dialog ist eigentlich selbsterklärend. Einfach Gerät, dem die Systemvariable zugeordnet werden soll, anwählen.
So stellt sich das dann in der WebUI dar. Hier sieht man dann auch die aktuellen Inhalte der Systemvariablen.
Und so erfolgt die Auswahl der zugeordneten Parameter über das "weiße Blatt". Einfach dahinklicken wo der rote Pfeil drauf zeigt und die gewünschten Größen anwählen.
Zur Steuerung des Sollwertes für die Behanghöhe, wenn der Rollladen unten sein soll, gibt es ein einfaches Programm, welches sich am Öffungsstatus des dazugehörigen Fensters orientiert. Ist das Fenster auf, dann soll der Rollladen auf 20% fahren, ist es zu, dann soll er ganz runter (0%-Behanghöhe). Diesen Sollwert kann man natürlich für Deine Abwesenheitssteuerung auch per Zeitmodul verändern. Die Auswahl im Programm erfolgt dann aber nicht über den Systemvariablendialog, sondern immer über den Gerätedialog und dann den jeweiligen Aktor, dem Du die Systemvariable zugewiesen hast. In der Systemvariablenauswahl der WebGUI tauchen zugeordnete Systemvariablen nicht mehr auf.
Jetzt benötigt man noch das Programm, welches den Aktor ansteuert. Im ersten "Wenn" wird einfach der Rollladen bei Änderung der Systemvariable nach "oben" auf 100% gefahren, wenn er tiefer als 45% steht. Im "Sonst wenn" sind die Steuerungen hinterlegt, die den Rollladen auf den Sollwert für die Stellung "unten" fährt. Ein Mal direkt, wenn die Sollstellung sich auf "unten" ändert und dann auch, wenn durch das Öffnen oder Schließen des Fensters zum Lüften sich der Sollwert-unten ändert (in meinem Fall zwischen 0 und 20%).
Als letztes noch ein Screenshot
ausschnitt von der Rollladenzentralsteuerung. Hier für das Runterfahren am Abend mit unterschiedlichen Zeiten für Wochentage und Wochenende bzw. Feiertage. Die Systemvariable "Rollladenstatus" dient noch mal zur Speicherung des aktuellen Solllwertes für alle Rollläden und ist grundsätzlich nicht notwendig. Sie wird in anderen Programmen verwendet und dient der Protokollierung.
Die Steuerung für das Hochfahren ist durch zusätzliche Statusabfragen von Systemvariablen ungleich komplizierter, aber nur, weil ich bedingt durch meine Schichterei auch einige Sonderlocken abbilden muss. Aber das Grundprinzip ist gleich dem Runterfahren-Teil. Eigentlich eine simple Zeitsteuerung per Zeitmodul.
Ich hoffe, Du kannst etwas mit der Darstellung anfangen. Wichtig ist, die Zentralprogramme für die grundsätzliche Steuerung hoch/runter benötigt man nur ein Mal und steuert dort lediglich die Systemvariablen für das Soll oben/unten an. Ansonsten benötigst Du pro Rollladen ein Programm für die Rollladensteuerung und ein Programm zum Setzen des Sollwertes-unten für die Behanghöhe und natürlich die beiden beschriebenen Systemvariablen. Durch eine geschickte Namensvergabe behält man aber trotz der höheren Programmanzahl den Überblick. Und durch die Aufteilung in Einzelprogramme ist das Resultat besser vorhersagbar, als wenn man alles mit vielen "Sonst wenn" in ein Programm stopfen will.
Meine Beschattungssteuerung basiert grundsätzlich auf einem Sonnensensor, den ich aus einem Temperaturdifferenzsensor selbst gebastelt habe. Hier wird der Beschattungsbedarf an Hand des aktuellen Wärmeeintrages durch die Sonnenstrahlung festgelegt. Ich habe ausreichend Hysterese vorgesehen, damit bei mir nicht ständig die Rollladen laufen. Das ist aber ein separates Thema. Der Sonnensensorsteuerung überlagert ist noch eine zeitliche Freigabe (über das Zeitmodul) für die verschiedenen Gebäudeseiten (bei mir nur Süden und Westen - ich habe keine Ostseite, da Doppelhaushälfte). Somit fahren die Rollladen nur auf der Seite runter, wo auch gerade die Sonne hinscheint. Die Markise hat wieder eine Sonderrolle, weil sie auch draußen sein muss, wenn die Sonne im Westen steht. So, genug Lesestoff...
Gruß Xel66