Rollladenaktoren zeitweilig deaktivieren

Einrichtung, Anschluss und Programmierung der HomeMatic CCU

Moderator: Co-Administratoren

Benutzeravatar
JRiemann
Beiträge: 3903
Registriert: 12.11.2015, 21:05
Wohnort: Aurich
Danksagung erhalten: 3 Mal

Re: Rollladenaktoren zeitweilig deaktivieren

Beitrag von JRiemann » 25.07.2018, 21:26

Im Script ist dann der Reihe nach (quasi wie oben im Screenshot)
ProgrammDiele.Execute
Und damit hast Du dann eine Kopie des einfachen Gruppenprogramms welches dann statt der Aktoren lediglich viele kleine Programme auslöst. Das bringt aber absolut nichts weil bekanntlich bei "Programm.Execute" keine Bedingungen im ausgelösten Programm berücksichtigt werden. Damit schließt sich der Kreis und man hat absolut nichts gewonnen.
mcbert hat geschrieben:
25.07.2018, 21:10
Du hast support für deine Scripte?
Ich schreibe keine Skripte... Aber bei allen Programmen die ein User nach meiner Vorlage nutzt leiste ich logischerweise weiterhin Hilfestellung.
Da der TE absoluter Anfänger ist wird eine Skriptlösung zwangsläufig aus einer fremden Feder stammen müssen. Bei allen dann folgenden Problemen und Änderungswünschen wäre der TE dann auf die Hilfe des Autors angewiesen. Bei einer reinen Programmlösung ist aber jeder HM-Nutzer handlungsfähig, egal ob Anfänger oder Profi.
Viele Grüße!
Jörg

mcbert
Beiträge: 69
Registriert: 03.07.2018, 18:51

Re: Rollladenaktoren zeitweilig deaktivieren

Beitrag von mcbert » 25.07.2018, 21:36

JRiemann hat geschrieben:
25.07.2018, 21:26
Im Script ist dann der Reihe nach (quasi wie oben im Screenshot)
ProgrammDiele.Execute
Und damit hast Du dann eine Kopie des einfachen Gruppenprogramms welches dann statt der Aktoren lediglich viele kleine Programme auslöst. Das bringt aber absolut nichts weil bekanntlich bei "Programm.Execute" keine Bedingungen im ausgelösten Programm berücksichtigt werden. Damit schließt sich der Kreis und man hat absolut nichts gewonnen.
Ich steh auf dem Schlauch. Das Programm oben hat doch lediglich eine Bedingung (Zeitsteuerung) diese ist für alle Rolladen gleich sowie einen DANN Block für viele Rollos.
Aufgabe war: Einzelne Rollos sollen jetzt deaktiviert werden:

Deswegen ein Masterprogram mit der zeitlichen Bedingung.

Im Script ist das ein 2 Zeiler pro Rolladen welcher sehr einfach auskommentiert weren kann.
Die Bedingung bleibt nach wie vor im Hauptprogramm welches das Script auslöst, diese ändert sich doch nicht und muss auch nicht pro Rollo berücksichtigt werden.

Xel66
Beiträge: 14149
Registriert: 08.05.2013, 23:33
System: Alternative CCU (auf Basis OCCU)
Wohnort: Nordwürttemberg
Hat sich bedankt: 583 Mal
Danksagung erhalten: 1497 Mal

Re: Rollladenaktoren zeitweilig deaktivieren

Beitrag von Xel66 » 25.07.2018, 21:47

mcbert hat geschrieben:
25.07.2018, 21:36
Deswegen ein Masterprogram mit der zeitlichen Bedingung.
Ganau! Und dann in die einzelnen Programme, die die jeweiligen Rollladen steuern entsprechende Sperrvariablen einbauen. Diese können dann ereignisgesteuert gesetzt werden. Wenn es immer die gleichen Rollladen zur gleichen Zeit sein sollen, kann man auch eine einzige Sperrvariable in mehrere Rollladenprogramme einbauen. Somit braucht man pro Rollladen ein Programm und mindestens eine logische Systemvariable, die den Sollzustand abbildet und für die zu sperrenden Rollladen (mindestens eine) zusätzliche Sperrvariable. Das war es dann schon.

Ich betreibe ähnliches mit dem Rollladen des Nachwuchses. In den Ferien oder wenn die Schule später beginnt, muss der Rollladen nicht unbedingt mit der zentralen Steuerung morgens hochlaufen. In seinem Rollladenprogramm wird über die Zentralsteuerung nur die Sollstellung "oben" gesetzt, der Rollladen aber erst mit dem Rücksetzen der Sperrvariable hochgefahren. Das Rücksetzprogramm für die Variable hat aber mehrere Trigger. Gesetzt wird die Sperrvariable mit der Ferien-Variable oder auch, wenn das Licht oder der Rechner im Zimmer später ausgehen. ;-)
mcbert hat geschrieben:
25.07.2018, 21:36
Im Script ist das ein 2 Zeiler pro Rolladen welcher sehr einfach auskommentiert weren kann.
Sorry, aber dieses Vorgehen ist für temporäre, immer wieder auftretende Bedingungen ein No-Go und macht die CCU und im speziellen das betreffende Programm zum Pflegefall. Da ist das Vorgehen über für diesen Fall vorgesehene Systemvariablen deutlich nachvollziehbarer und komfortabler.

Gruß Xel66
-------------------------------------------------------------------------------------------
524 Kanäle in 146 Geräten und 267 CUxD-Kanäle in 34 CUxD-Geräten:
343 Programme, 334 Systemvariablen und 183 Direktverknüpfungen,
RaspberryMatic Version: 3.65.11.20221005 + Testsystem: CCU2 2.61.7
-------------------------------------------------------------------------------------------
Einsteigerthread, Programmlogik-Thread, WebUI-Handbuch

Benutzeravatar
JRiemann
Beiträge: 3903
Registriert: 12.11.2015, 21:05
Wohnort: Aurich
Danksagung erhalten: 3 Mal

Re: Rollladenaktoren zeitweilig deaktivieren

Beitrag von JRiemann » 25.07.2018, 21:51

mcbert hat geschrieben:
25.07.2018, 21:36
Aufgabe war: Einzelne Rollos sollen jetzt deaktiviert werden
Ja, das ist vorerst die Aufgabe. Dieses deaktivieren soll aber flexibel und bei Bedarf passieren.
Da ist es für einen Anfänger natürlich sehr einfach in einem Skript das er nicht versteht irgendwelche Zeile zu finden und auszukommentieren. Noch praktischer ist es das man dazu die WebUI starten, das Programm suchen und öffnen muss.

Mit Variablen und normalen Programmen ist das alles nur 1 Klick in einer App.

Außerdem kann jetzt schon garantiert werden das bald weitere Wünsche ins Spiel kommen, Fensterzustände/Teilöffnungen/usw., das war bisher noch bei jedem Hilfesuchenden so. Das alles ist schnell und ohne großen Aufwand eingebaut wenn die Basis stimmt.
Viele Grüße!
Jörg

Momentum
Beiträge: 26
Registriert: 22.10.2017, 14:07
Wohnort: Raum Bonn
Hat sich bedankt: 5 Mal
Danksagung erhalten: 1 Mal

Re: Rollladenaktoren zeitweilig deaktivieren

Beitrag von Momentum » 26.07.2018, 15:30

Hallo Experten,

habt Dank für eure Anregungen und Mühen! Soweit ich das verstanden habe, könnte es für mich im Moment am einfachsten sein, für jeden Rollladen eine eigene Zentralenverknüpfung anzulegen. Das ist vermutlich nicht besonders elegant, aber zumindest sollte es zunächst für meine Zwecke reichen.

Viele Grüße
Wolfgang

Xel66
Beiträge: 14149
Registriert: 08.05.2013, 23:33
System: Alternative CCU (auf Basis OCCU)
Wohnort: Nordwürttemberg
Hat sich bedankt: 583 Mal
Danksagung erhalten: 1497 Mal

Re: Rollladenaktoren zeitweilig deaktivieren

Beitrag von Xel66 » 26.07.2018, 17:06

Momentum hat geschrieben:
26.07.2018, 15:30
für jeden Rollladen eine eigene Zentralenverknüpfung anzulegen. Das ist vermutlich nicht besonders elegant,
Wenn Du mit "Zentralenverknüpfung" eigene Programme meinst, dann ja. Das hat mit "elegant" überhaupt nichts zu tun. Es ist die flexibelste Lösung, denn es ermöglicht Dir zahlreiche Sonderbehandlungen einzelner Rollladen oder auch in Gruppen. Dazu noch ein Zeitprogramm, welches die Sollstellung vorgibt, und Du kannst nachträglich bei Bedarf noch Stellungen für das Ausschlafen oder die Beschattung in die vorhandenen Programme implementieren.

Gruß Xel66
-------------------------------------------------------------------------------------------
524 Kanäle in 146 Geräten und 267 CUxD-Kanäle in 34 CUxD-Geräten:
343 Programme, 334 Systemvariablen und 183 Direktverknüpfungen,
RaspberryMatic Version: 3.65.11.20221005 + Testsystem: CCU2 2.61.7
-------------------------------------------------------------------------------------------
Einsteigerthread, Programmlogik-Thread, WebUI-Handbuch

Hütte
Beiträge: 746
Registriert: 08.02.2017, 11:08
Hat sich bedankt: 32 Mal
Danksagung erhalten: 75 Mal

Re: Rollladenaktoren zeitweilig deaktivieren

Beitrag von Hütte » 03.08.2018, 14:03

Xel66 hat geschrieben:
24.07.2018, 23:51
....
Du hast also mehrere Ansätze, wie Du das machen kannst. Entweder Du steuerst das über die Behanghöhenvorgabe über das "weiße Blatt" oder ich stelle Dir mal meinen Lösungsansatz vor. Solche zentralen Programm steuern nur eine an den Aktor/Kanal gebundene logische Systemvariable (Sollstellung oben oder unten). Dann existiert für jeden Rollladen ein eigenes Programm, welches dann aus den Systemvariablen (oben/unten und Sollwert_unten) die jeweiligen Rollladen in die gewünschte Stellung bringt.
....

Gruß Xel66
Hallo Xel66,

ich habe großes Interesse an deinem Ansatz, gerade die Behanghöhen über Systemvariablen zu steuern. Vielleicht kannst du deine Vorgehensweise mal auch in einer pdf-Datei zusammenfassen. Also, welche Systemvariablen (Typ und Wertebereich) benötige ich, welche sind davon direkt einem Kanal des Rollladenaktors zugeordnet und welche füllst du in Programmen und wie sehen die Programme aus, die die Variablen setzen und wie triggerst du dann die finale Bewegung des Aktors auf die gewünschte Höhe.

Bisher benutze ich die Variante von Funkleuchtturm, um die Rollladen nach Dämmerung (Abdens) und Sonnenstand (zum Beschatten) zu steuern. Aber das lässt sich sicher mit deinem Ansatz gut verknüpfen, zumal mir noch "Zusatzoptionen" vorschweben. So dass zum Beispiel in der Urlaubszeit die Rollladen nicht erst zur Dämmerung runter fahren, sondern schon vorher, aber dann eben nicht komplett. Dann startet eine Anwesenheitssimulation, die die Lampen innen steuert. Dadurch sieht es dann von außen aus, als ob jemand da ist, kann aber nicht durch die zu 3/4 geschlossenen Rollladen sehen, dass eigentlich keiner da ist und nur die Lampen an- und ausgehen. Und andererseits fährt man nicht schon zu zeitig, die Rollladen komplett runter, so dass ein Betrachter von außen weniger "Verdacht" schöpft, dass eigentlich keiner da ist.

Vielen Dank also schon einmal im Voraus,

Gruß Hütte

Xel66
Beiträge: 14149
Registriert: 08.05.2013, 23:33
System: Alternative CCU (auf Basis OCCU)
Wohnort: Nordwürttemberg
Hat sich bedankt: 583 Mal
Danksagung erhalten: 1497 Mal

Re: Rollladenaktoren zeitweilig deaktivieren

Beitrag von Xel66 » 03.08.2018, 19:10

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.
SV-Rollladen-Esszimmer.jpg
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.
SV-Rollladen-Esszimmer-SWu.jpg
So stellt sich das dann in der WebUI dar. Hier sieht man dann auch die aktuellen Inhalte der Systemvariablen.
Aktor-Rollladen-Esszimmer.jpg
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.
Rollladen-Esszimmer-Behangöhe.jpg
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.
Programm-Rollladen-Esszimmer-SWu.jpg
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%).
Programm-Rollladen-Esszimmer.jpg
Als letztes noch ein Screenshotausschnitt 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.
Rollladenzentralsteuerung.jpg
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
Zuletzt geändert von Xel66 am 03.08.2018, 23:35, insgesamt 1-mal geändert.
-------------------------------------------------------------------------------------------
524 Kanäle in 146 Geräten und 267 CUxD-Kanäle in 34 CUxD-Geräten:
343 Programme, 334 Systemvariablen und 183 Direktverknüpfungen,
RaspberryMatic Version: 3.65.11.20221005 + Testsystem: CCU2 2.61.7
-------------------------------------------------------------------------------------------
Einsteigerthread, Programmlogik-Thread, WebUI-Handbuch

Hütte
Beiträge: 746
Registriert: 08.02.2017, 11:08
Hat sich bedankt: 32 Mal
Danksagung erhalten: 75 Mal

Re: Rollladenaktoren zeitweilig deaktivieren

Beitrag von Hütte » 03.08.2018, 21:35

Vielen Dank, das hat mir weitergeholfen. Ich habe schon mal ein paar SV für die Behanghöhe angelegt und sie den entsprechenden Kanälen zugeordnet. Nun werde ich meine bestehenden Programme mal so anpassen, dass sie parallel zum direkten Setzen der Behanghöhe auch noch den Wert in die SV schreiben, den ich dann in der Status-Übersicht verfolgen kann. Und dann kann ich Stück für Stück für jeden der 16 Rollladenaktoren eigene Programme anlegen, um sie dann über die SV zu steuern. Und auch die Idee, die Behanghöhe automatisch auf 20% zu setzen, wenn der Rollladen unten sein soll, aber das Fenster offen ist zum Lüften. Spart auch wieder Zeit.

Danke und Gruß,

Hütte

Antworten

Zurück zu „HomeMatic Zentrale (CCU / CCU2 / CCU3 / Charly)“