AutoShuttersControl: Unterschied zwischen den Versionen
(Umsortiert, Überschriften vereinheitlicht) |
|||
Zeile 61: | Zeile 61: | ||
Die Beschreibung der Attribute ist in der commandref enthalten. | Die Beschreibung der Attribute ist in der commandref enthalten. | ||
== Readings == | == Readings == | ||
===Readings im ASC-Device selbst | ===Readings im ASC-Device selbst === | ||
{|class="wikitable" | {|class="wikitable" | ||
Zeile 190: | Zeile 88: | ||
|} | |} | ||
===Readings in den Rolllädendevices=== | === Readings in den Rolllädendevices === | ||
{|class="wikitable" | {|class="wikitable" | ||
Zeile 203: | Zeile 101: | ||
|} | |} | ||
== | ==set- und get-Befehle für das ASC-Device== | ||
=== set-Anweisungen === | |||
{|class="wikitable" | {|class="wikitable" | ||
|- | |- | ||
Zeile 230: | Zeile 127: | ||
|} | |} | ||
== | === get-Anweisungen === | ||
{|class="wikitable" | {|class="wikitable" | ||
Zeile 242: | Zeile 139: | ||
== Attribute == | == Attribute == | ||
===Attribute | ===Attribute direkt am ASC-Device === | ||
{|class="wikitable" | {|class="wikitable" | ||
Zeile 388: | Zeile 285: | ||
|} | |} | ||
== Hilfsmittel | == Hilfsmittel == | ||
{{Hinweis|Die Device-Namen sind auf die eigene Installation anzupassen.}} | |||
=== | === Interne Übersicht === | ||
define ASC_Jalousie_Info weblink htmlCode {AutoShuttersControl::GetShuttersInformation($defs{'JalousieControl'})} | define ASC_Jalousie_Info weblink htmlCode {AutoShuttersControl::GetShuttersInformation($defs{'JalousieControl'})} | ||
Zeile 398: | Zeile 295: | ||
== | === readingsGroup für Level === | ||
Erfolgreich getestet mit Homematic Devices, Stand 2019-01-28 no_Legend | {{Randnotiz|RNTyp=g|RNText=Erfolgreich getestet mit Homematic Devices, Stand 2019-01-28 no_Legend}} | ||
{{Hinweis|Codezeilen wurden aus der Config Datei kopiert.}} | |||
[[Datei:RG AutoShuttersControl Homematic.png|600px|]] | [[Datei:RG AutoShuttersControl Homematic.png|600px|]] | ||
<pre> define rg_ASC_Rollaeden_Level readingsGroup <Gerät>,<ASC>,<Antifreeze>,<Antifreeze_Pos>,<Closed_Pos>,<Open_Pos>,<ASC_Ventilate_Pos> \ | |||
(.*Rollladen.*|.*Rollladen|Jalousie_.*):?ASC,?ASC_Antifreeze,?ASC_Antifreeze_Pos,?ASC_Closed_Pos,?ASC_Open_Pos,?ASC_Ventilate_Pos | (.*Rollladen.*|.*Rollladen|Jalousie_.*):?ASC,?ASC_Antifreeze,?ASC_Antifreeze_Pos,?ASC_Closed_Pos,?ASC_Open_Pos,?ASC_Ventilate_Pos | ||
setuuid rg_ASC_Rollaeden_Level 5c4308e1-f33f-abd1-167d-cc1b5f137cf793c8 | setuuid rg_ASC_Rollaeden_Level 5c4308e1-f33f-abd1-167d-cc1b5f137cf793c8 | ||
Zeile 416: | Zeile 312: | ||
ASC_Open_Pos => 'ASC_Open_Pos:0,10,20,30,35,40,45,50,55,60,65,70,75,80,85,90,95,100', \ | ASC_Open_Pos => 'ASC_Open_Pos:0,10,20,30,35,40,45,50,55,60,65,70,75,80,85,90,95,100', \ | ||
ASC_Ventilate_Pos => 'ASC_Ventilate_Pos:0,10,20,30,35,40,45,50,55,60,65,70,75,80,85,90,95,100'} | ASC_Ventilate_Pos => 'ASC_Ventilate_Pos:0,10,20,30,35,40,45,50,55,60,65,70,75,80,85,90,95,100'} | ||
attr rg_ASC_Rollaeden_Level room 9.72_Rolladen | attr rg_ASC_Rollaeden_Level room 9.72_Rolladen</pre> | ||
=== readingsGroup für Zeiten === | |||
<pre> define rg_ASC_Rollaeden_Times readingsGroup <Gerät>,<Position>,<Time_Up_Early>,<Time_Up_Late>,<Time_Up_WE/Hol>,<Time_Down_Early>,<Time_Down_Late>,<Mode_Down>,<Mode_Up> \ | |||
(.*Rollladen.*|.*Rollladen|Jalousie_.*):level,?ASC_Time_Up_Early,?ASC_Time_Up_Late,?ASC_Time_Up_WE_Holiday,?ASC_Time_Down_Early,?ASC_Time_Down_Late,?ASC_Mode_Down,?ASC_Mode_Up | (.*Rollladen.*|.*Rollladen|Jalousie_.*):level,?ASC_Time_Up_Early,?ASC_Time_Up_Late,?ASC_Time_Up_WE_Holiday,?ASC_Time_Down_Early,?ASC_Time_Down_Late,?ASC_Mode_Down,?ASC_Mode_Up | ||
setuuid rg_ASC_Rollaeden_Times 5c4308e1-f33f-abd1-94a7-fbf717635760f863 | setuuid rg_ASC_Rollaeden_Times 5c4308e1-f33f-abd1-94a7-fbf717635760f863 | ||
Zeile 429: | Zeile 326: | ||
ASC_Mode_Down => 'ASC_Mode_Down:always,absent,off', \ | ASC_Mode_Down => 'ASC_Mode_Down:always,absent,off', \ | ||
ASC_Mode_Up => 'ASC_Mode_Up:always,absent,off' } | ASC_Mode_Up => 'ASC_Mode_Up:always,absent,off' } | ||
attr rg_ASC_Rollaeden_Times room 9.72_Rolladen | attr rg_ASC_Rollaeden_Times room 9.72_Rolladen</pre> | ||
=== readingsGroup für FIBARO Roller Shutter FGR-222 Devices === | |||
{{Randnotiz|RNTyp=g|RNText=Getestet von majestro84 https://forum.fhem.de/index.php/topic,92628.msg897099.html#msg897099; Stand 2019-01-28.}} | |||
[[Datei:ASC Jalousien Level.JPG|600px|]] | [[Datei:ASC Jalousien Level.JPG|600px|]] | ||
[[Datei:ASC Jalousien Times.JPG|600px|]] | [[Datei:ASC Jalousien Times.JPG|600px|]] | ||
<pre> define ASC_Jalousien_Times readingsGroup <Gerät>,<Stand>,<Time_Up_Early>,<Time_Up_WE>,<Time_Up_Late>,<Time_Down_Early>,<Time_Down_Late>,<Mode_Down>,<Mode_Up>,<PartyMode>,<LockOut> (.*_Jalousie.*):position,?ASC_Time_Up_Early,?ASC_Time_Up_WE_Holiday,?ASC_Time_Up_Late,?ASC_Time_Down_Early,?ASC_Time_Down_Late,?ASC_Mode_Down,?ASC_Mode_Up,?ASC_Partymode,?ASC_LockOut | |||
attr ASC_Jalousien_Times commands {position => 'dim:0,10,20,30,35,40,45,50,55,60,65,70,75,80,85,90,95,99', | attr ASC_Jalousien_Times commands {position => 'dim:0,10,20,30,35,40,45,50,55,60,65,70,75,80,85,90,95,99', | ||
ASC_Mode_Down => 'ASC_Mode_Down:always,absent,off', | ASC_Mode_Down => 'ASC_Mode_Down:always,absent,off', | ||
Zeile 455: | Zeile 345: | ||
ASC_Time_Up_Late =>'ASC_Time_Up_Late:06:00,06:15,06:30,06:45,07:00,07:15,07:30,07:45,08:00,08:15,08:30,08:45,09:00,09:15,09:30,09:45,10:00', | ASC_Time_Up_Late =>'ASC_Time_Up_Late:06:00,06:15,06:30,06:45,07:00,07:15,07:30,07:45,08:00,08:15,08:30,08:45,09:00,09:15,09:30,09:45,10:00', | ||
ASC_Time_Up_WE_Holiday => 'ASC_Time_Up_WE_Holiday:06:00,06:15,06:30,06:45,07:00,07:15,07:30,07:45,08:00,08:15,08:30,08:45,09:00,09:15,09:30,09:45,10:00'} | ASC_Time_Up_WE_Holiday => 'ASC_Time_Up_WE_Holiday:06:00,06:15,06:30,06:45,07:00,07:15,07:30,07:45,08:00,08:15,08:30,08:45,09:00,09:15,09:30,09:45,10:00'} | ||
attr ASC_Jalousien_Times room Jalousien | attr ASC_Jalousien_Times room Jalousien</pre> | ||
<pre> define Jalousien_Level readingsGroup <Gerät>,<Closed_Pos>,<Open_Pos>,<Comfort_Pos>,<Ventilate_Pos>,<PrivacyDown_Pos>,<Shading_Pos> (.*_Jalousie.*):?ASC_Closed_Pos,?ASC_Open_Pos,?ASC_ComfortOpen_Pos,?ASC_Ventilate_Pos,?ASC_PrivacyDown_Pos,?ASC_Shading_Pos | |||
attr Jalousien_Level commands { ASC_Closed_Pos => 'ASC_Closed_Pos:0,10,20,30,35,40,45,50,55,60,65,70,75,80,85,90,95,99', | attr Jalousien_Level commands { ASC_Closed_Pos => 'ASC_Closed_Pos:0,10,20,30,35,40,45,50,55,60,65,70,75,80,85,90,95,99', | ||
ASC_Open_Pos => 'ASC_Open_Pos:0,10,20,30,35,40,45,50,55,60,65,70,75,80,85,90,95,99', | ASC_Open_Pos => 'ASC_Open_Pos:0,10,20,30,35,40,45,50,55,60,65,70,75,80,85,90,95,99', | ||
Zeile 464: | Zeile 354: | ||
ASC_PrivacyDown_Pos => 'ASC_PrivacyDown_Pos:0,10,20,30,35,40,45,50,55,60,65,70,75,80,85,90,95,99', | ASC_PrivacyDown_Pos => 'ASC_PrivacyDown_Pos:0,10,20,30,35,40,45,50,55,60,65,70,75,80,85,90,95,99', | ||
ASC_Shading_Pos => 'ASC_Shading_Pos:0,10,20,30,35,40,45,50,55,60,65,70,75,80,85,90,95,99'} | ASC_Shading_Pos => 'ASC_Shading_Pos:0,10,20,30,35,40,45,50,55,60,65,70,75,80,85,90,95,99'} | ||
attr Jalousien_Level room Jalousien | attr Jalousien_Level room Jalousien</pre> | ||
== Einrichtungsbeispiel == | |||
=== Zielsetzung und Vorgaben === | |||
Es sollen alle Rollläden und Jalousien in einem Haus innerhalb bestimmter zeitlicher Grenzen Morgens und Abends sonnenstandsabhängig gefahren werden, an den Wochenenden und an Ferientagen soll etwas später geöffnet werden. Es sind Tür- und Fensterkontakte vorhanden (Türkontakte: twoState, Fensterkontakte: threeState), wobei bei jeder Öffnung ein eventuell geschlossener Rollladen geöffnet werden soll. Bei allen Rollladnaktoren, Tür- und Fensterkontakten handelt es sich um CUL_HM-Geräte. | |||
=== Vorarbeiten === | |||
Im global-Device sind Angaben zu latitude und longitude vorhanden, holiday2we wie folgt<ref>ferien ist eine automatisiert erstellte holiday-Datei nach diesem Foren-Beitrag.</ref>: | |||
attr global holiday2we bw,ferien | |||
Weitere Angaben benötigen wir zunächst nicht, die Festlegung eines Astro-Devices erfolgt hier erst im Rahmen der Beschattung. | |||
Dann erfolgt das ''Define des ASC-Devices'' wie oben beschrieben: | |||
<code>define Rollladenautomatik AutoShuttersControl</code> | |||
Folgen die einzubindenden Rollladenaktoren einem einheitlichen Namensschema, können diese sodann z.B. mit | |||
attr (Jalousie|Rolladen)_.* ASC 2 | |||
auf einen Rutsch mit dem passenden ASC-Typ gekennzeichnet werden. Dann verteilen wir mir | |||
set Rollladenautomatik scanForShutters | |||
die nachfolgend weiter zu bearbeitenden Attribute. | |||
=== Konfiguration des ASC-Devices === | |||
Da wir sonnenstandsabhängig Fahrzeiten wollen, legen wir erst einmal fest, dass dies morgens und abends berücksichtigt werden soll: | |||
<pre> | |||
attr Rollladenautomatik ASC_autoAstroModeEvening CIVIL | |||
attr Rollladenautomatik ASC_autoAstroModeMorning CIVIL | |||
attr Rollladenautomatik ASC_autoShuttersControlEvening on | |||
attr Rollladenautomatik ASC_autoShuttersControlMorning on | |||
</pre> | |||
Aus der Angabe ''CIVIL'' und den Vorgaben in den einzelnen Rollladen wird dabei mit Hilfe von [[SUNRISE_EL]] die effektive Fahrzeit berechnet, dort finden sich auch weitere Hinweise, zu den meisten anderen Optionen für die ersten beiden Attribute. | |||
Bei allen Fensteröffnungen soll auf Lüften-Position gefahren werden, also schalten wir diese Funktion ebenfalls zentral an<ref>Sonst wird bei threeState-Sensoren nur bei ''tilted'' gefahren.</ref>: | |||
attr Rollladenautomatik ASC_autoShuttersControlComfort on | |||
Zuletzt legen wir noch einen Temperatur-Sensor fest. Dieser wird beim Frostschutz sowie bei der Beschattung berücksichtigt. | |||
<pre> | |||
attr Rollladenautomatik ASC_temperatureSensor Aussentemperatur_Nord | |||
attr Rollladenautomatik ASC_temperatureReading temperature | |||
attr Rollladenautomatik ASC_freezeTemp 3 | |||
</pre> | |||
tbd: Rain | |||
==== Fahrzeiten ==== | |||
Zur Konfiguration der Fahrzeiten bietet es sich an, eine ReadingsGroup zu nutzen, wie unter [[Hilfsmittel]] dargestellt. Alternativ kann man die Zeiten auch manuell in den einzelnen Rollläden hinterlegen. | |||
==== Fensterkontakte ==== | |||
<!-- 2. Schritt: | |||
Festlegen der Roomates etc.; sollte soweit klar sein, cref ist an sich ok, das Wiki enthält dazu einige weitere Angaben, das ganze ist aber nicht im Sinne einer "Schritt-für-Schritt-Anleitung" ausgeführt: Das mit den Residents (und den Readings) findet sich (nur) im Zusammenhang mit den Voraussetzungen (sollte "man" ergänzen, oder?). | |||
3. Schritt: | |||
Festlegen der Fensterkontakte | |||
Von der Einrichtung her nachvollziehbar; unklar ist mir noch, ob auf meine Three-state richtig reagiert wird - habe das mit der neuen Version bisher nur bewußt im Schlafzimmer getestet, da ging der Rollladen beim Fenster-auf nicht hoch; kann aber auch am Status das Roommate-Devices gelegen haben. Muß ich selbst noch testen. | |||
threeState/tilted: ASC_autoShuttersControlComfort im ASC auf on setzen. | |||
4. Wind | |||
Ähm, bin nicht auf dem letzten Stand, aber sollte das nicht integriert werden? Passende Attribute finde ich aber keine... | |||
(Ich habe hier 4 Außenjalousien, die ich bei unterschiedlichen Windgeschwindigkeiten gerne komplett einfahren würde; im Moment macht das noch ein separates notify). | |||
5. Beschattung | |||
Dann wollte ich mich also an den eigentlichen neuen Teil machen, die Beschattung. | |||
Wie die ganzen Attribute ineinandergreifen, steht scheinbar nirgends. M.E. ein dringliches todo. | |||
a) Da finde ich ziemlich zentral ein "ASC_twilightDevice", ohne dass hier irgendwo (cref/Wiki) mehr erläutert wäre, als dass man es irgendwie im Rahmen der Beschattung benötigt. Sehr aufschlußreich... Da es nicht irgendwas mit Brightness heißt, scheint es sich um was anderes zu handeln ("Informationen zum Sonnenstand"). Aber woher werden dann die Helligkeitsschwellen bedient, die man zentral bzw. an den Rollläden einstellen kann? OK, gesehen, das wird wieder (nur) verteilt an allen einzelnen Rollläden festgelegt. Hm, aber warum das? (Ich habe derzeit eigentlich nur einen Lieferanten für Brightness; es würde mir daher ausreichen, wenn der für alle zentral festlegbar wäre). | |||
Daher die Frage zu ASC_twilightDevice: Für was wird es noch verwendet und wie im Rahmen der Beschattung? | |||
Hab's also erst mal weggelassen, zumal das ausnahmsweise keine explizite Angabe eines Readingsnamens vorsah und es auch irgendwie ungut an das aktuell nicht funktionierende "twilight"-Modul anzuknüpfen scheint. | |||
CT: Um es gleich vorweg zu sagen. ASC_brightnessMinVal und ASC_brightnessMaxVal haben mit der Beschattung gar nichts zu tun. | |||
Das Astro oder Twilight Modul (je nach dem welches als erstes gefunden wird bei einer automatischen Suche) wird verwendet um die Sonnenposition zu erkennen. | |||
Azimut und Elevation. Der eigentliche Trigger ist aber in der Tat Brightness. Nur wenn sich der Brightness Wert ändert werden Azimut, Elevation, Temperatur und die Ein und Ausfallswinkel Ausgelesen und/oder Berechnet und basierend auf diesen Werten entschieden ob shading in oder shading out. | |||
b) Dann habe ich also erst mal die Winkelangaben gemacht. An sich selbsterklärend, aber was mache ich mit den Fenstern auf der Nordseite? | |||
Auf Risiko haben die jetzt also erst mal alle einen Wert in der Nähe von 0, aber immer noch die Varianz von +/- 85°. Paßt das, oder sollte ich das ändern (so dass keine Werte <0° rauskommen können)?!? Oder gar das Attribut bei den Nordfenstern ganz löschen? | |||
c) Ok, dann gibt es eine Reihe weiterer "ASC_Shading.*"-Attribute. Die sind irgendwie vorbelegt, allerdings wäre es vermutlich hilfreich, wenn wir im Wiki ggf. erklären, wie die Werte zu verstehen sind und diese zusammenwirken. | |||
d) Letztlich scheinen die ASC_brightnessMinVal-etc.-Attribute die eigentich entscheidenen Angaben zu sein. Aber wie wirkt das alles jetzt zusammen? | |||
Ein paar erläuternde Worte wären hilfreich, sonst muß ich doch Quellcode lesen oder einfach testen... | |||
6. Sonstiges | |||
Dann gibt's da noch ein paar weitere Features, die zwar in der cref bzw. im Wiki erwähnt sind, deren Bedeutung sich mir aber nicht auf die Schnelle erschließt, so dass ich nicht beurteilen kann, ob und wie ich das anwende (-n will): | |||
a) Privacy: Ist (praktisch) nur in der cref drin. | |||
Möchte jemand ein Anwendungsbeispiel im Wiki ergänzen, damit man besser nachvollziehen kann, was die beiden Attribute bewirken? | |||
CT: Hier geht es nur darum eine bestimmte Zeit vor dem eigentlichen schließen der Rollläden diese schon mal auf sagen wir 50% zu fahren. Ein Anwendungsfall war gewesen das die Rollläden zur Straße hin mit viel Fußgängerverkehr waren und Abends schon vor dem schließen dieser das Licht drin an ging. Somit konnte man gut rein schauen. | |||
b) BlockingTime | |||
In welchem Zusammenhang wirkt sich das jeweils aus, wann sollte/kann man das verwenden? | |||
CT: Das verwendet sich von alleine. Nach einer manuellen Fahrt wird eine vom ASC Modul initiierte Fahrt ausgesetzt. Das geschieht so lange bis die im Attribute angegebene Zeit überschritten ist, eine dann vom ASC Modul initiierte Fahrt wird durchgeführt. | |||
Genau so wird ein hochfahren eines Rollos durch das ASC Modul nicht mehr ausgeführt wenn es innerhalb der Zeit von ASC_BlockingTime_beforNightClose und das runterfahren wird nicht mehr erfolgen wenn es innerhalb von ASC_BlockingTime_beforDayOpen ist. | |||
Beispiel: Meine Tochter geht früh aus Haus und Ihre Rollos sind nicht hoch gefahren. Diese fahren auch nicht mehr hoch da die ausschließlich bei home (anwesend) fahren sollen. Nun kommt sie am Nachmittag um 16:23 Uhr nach Hause, eigentlich sollten nun die Rollos fahren. Doch die Sonnenuntergangsfahrt (schließen) wäre schon 16:51 Uhr und damit innerhalb der 3600 ASC_BlockingTime_beforNightClose. Die Rollos bleiben also unten. Es lohnt sich für die paar Minuten einfach nicht mehr. | |||
c) wiggle | |||
(OK, das ist klar, man kann mit einem "set <ASC-Device> wiggle" alle Rollladen mit einem entsprechenden Attribut zu einer kurzen Fahrt veranlassen. Gehe mal davon aus, dass um den Wert in Richtung closed gefahren wird, und dann nach Ablauf der Minute wieder um denselben Wert zurück.) Steht nur noch nichts im Wiki zu... | |||
CT: Fast. Es wird geschaut wo der Rollladen steht und dann wird in die Richtung gefahren wo er den meisten Weg hat. Wenn also zu 70% geschlossen ist, wird er hoch fahren. | |||
d) Partymode, lock-out etc | |||
(Auch hier: Doku ist etwas verteilt, könnte man im Wiki jeweils unter einem eigenen Unterabschnitt im Zusammenhang darstellen) | |||
Wäre nett, wenn der eine oder andere Licht ins Dunkel bringen könnte, dann kann ich mich auch dran machen, das im Wiki irgendwie zu verarbeiten. | |||
CT: Noch mal ein zwei Worte zum Thema Dokumentation. Ich denke im Wiki wären Anwendungsbeispiele ganz gut aufgehoben. | |||
Gerade die Sache mit dem Privacy. Wozu kann man es verwenden? | |||
Dann auch SelfDefense. Das bei einem absent nur da die Rollläden geschlossen werden wo das Fenster vergessen wurde zu schließen. | |||
Beim wechsel in gone wird nur an den makierten Terassentüren der Rollladen runter gefahren. --> | |||
== Sonstige Hinweise == | |||
* Werden Attribute geändert, kann es vereinzelt vorkommen, dass das ASC-Modul dies nicht mitbekommt und das tatsächliche Verhalten nicht den Erwartungen entspricht. In so einem Fall empfielt es sich, das NOTIFYDEV nochmals aufbauen zu lassen mit <code>set <ASC-Modul> createNewNotifyDev</code>. | |||
== Weblinks == | == Weblinks == | ||
Zeile 494: | Zeile 466: | ||
* {{Link2Forum|Topic=73964|LinkText="Thread zu den Scripten von user cluni"}}, die der Entwicklung des Moduls zugrunde liegen | * {{Link2Forum|Topic=73964|LinkText="Thread zu den Scripten von user cluni"}}, die der Entwicklung des Moduls zugrunde liegen | ||
<references /> | |||
[[Kategorie:Code Snippets]] | [[Kategorie:Code Snippets]] | ||
[[Kategorie:Rollladensteuerung]] | [[Kategorie:Rollladensteuerung]] |
Version vom 18. Februar 2019, 14:01 Uhr
An dieser Seite wird momentan noch gearbeitet. |
AutoShuttersControl | |
---|---|
Zweck / Funktion | |
Steuerung von Rollläden | |
Allgemein | |
Typ | Gerätemodul |
Details | |
Dokumentation | EN / DE |
Support (Forum) | Automatisierung |
Modulname | 73_AutoShuttersControl.pm |
Ersteller | CoolTux (Forum /Wiki) |
Wichtig: sofern vorhanden, gilt im Zweifel immer die (englische) Beschreibung in der commandref! |
Mit AutoShuttersControl oder kurz ASC können typische Aufgabenstellungen im Zusammenhang mit Rollläden u.ä. automatisiert werden, wie zum Beispiel das Öffnen bei Sonnenaufgang, Schließen bei Sonnenuntergang oder das Anfahren von Lüftungspositionen beim Öffnen des zugehörigen Fensters.
Basics
Zur Nutzung des Moduls sollten folgende andere FHEM-Devices vorhanden sein:
- Rollläden
- Fensterkontakte und
- Bewohnerstatus auf Basis von Residents/Roomates in englisch. Ersatzweise andere Devices, z.B. Dummys, welche als state home, asleep, gotosleep und awoken setzen sowie ein Reading lastState.
- Optional:
- Ein Helligkeitssensor (Steuerung nach Helligkeit und Beschattung)
- Ein Device zur Bestimmung des Sonnenstands (nur für Beschattungf). Unterstützt werden derzeit Astro und twilight[1].
- Wenn Feiertage berücksichtigt werden sollen: Ein oder mehrere holiday2we-Angaben in global samt entsprechender holiday-Dateien[2] [3].
Die Einrichtung des Moduls bzw. dessen Funktionalität erfolgt in mehreren Schritten:
- Definition des ASC-Devices
- Einstellung zentraler Vorgaben am ASC-Device
- Markieren der zukünftig zu steuernden Rollladen-Devices
- Einbinden der Rollladen-Devices in das ASC-Device
- Einstellen der individuellen Vorgaben je Rollladen (am Rollladen-Device)
Dabei geht man am einfachsten schrittweise vor und erweitert die Funktionalität nach und nach um die gewünschten Funktionen. Dann benötigt man jeweils nur einen kleinen Teil der vielen per Attribut einstellbaren Optionen, und kann die Auswirkungen der jeweiligen Änderung besser nachvollziehen.
Einrichtung
Vorbereitung
Zunächst sollten die in den Basics beschriebenen Geräte vorhanden und funktionsfähig sein.
Define des ASC-Devices
Es genügt ein einfaches define ohne weitere Parameter.
define <name> AutoShuttersControl
Dies bewirkt neben der Anlage des Devices selbst auch, dass als weiteres globales Attribut ASC verfügbar wird.
Einstellung zentraler Vorgaben
Es stehen am ASC-Device einige Attribute zur Verfügung, über die sich das Verhalten des ASC-Devices insgesamt steuern lässt, z.B. zur Vermeidung von morgendlichen oder abendlichen Fahrten sowie bei Gefahr von Schäden an den Rollläden durch Frost oder zur Reaktion auf Fensterkontakte. Details sind der Commandref zu entnehmen. Diese Attribute können auch nachträglich noch geändert werden.
Markieren zu steuernder Rollladen-Devices
Um einen oder mehrere Rollläden durch das ASC-Device zu steuern, wird für jeden Rollladen jeweils das neue globale Attribut ASC gesetzt. Der Wert ist mit 1 oder 2 festzulegen, wobei 1 bedeutet, dass
- die Offen-Position kleiner ist als die Geschlossen-Position, also typischerweise 0 offen bedeutet und 100 für geschlossen steht
- eine bestimmte Position mit position angefahren wird, also z.B.
set <name> position 70
.
Dies ist z.B. die passende Wahl für ROLLO-Devices
Die 2 steht für ein umgekehrtes Verhalten und den Befehlsteil pct, also offen für set <name> pct 100
. Typischer Vertreter dieses Typs sind HomeMatic (CUL_HM-) Geräte oder die Shelly2-Aktoren.
Einbinden in das ASC-Device
Nachdem man das obige Attribut bei einem oder mehreren Rollladen-Devices gesetzt hat, kann mit
set <name> scanForShutters
ein Suchlauf gestartet werden, mit dem dann diese Rollläden durch das Modul gefunden und in die Steuerungslogik eingebunden werden.
Einstellen der individuellen Vorgaben
Nach der Einbindung sind an den Rollladen-Devices weitere Attribute verfügbar, mit denen die für den jeweiligen Rollladen geltenden Einstellungen vorgenommen werden können. Die Beschreibung der Attribute ist in der commandref enthalten.
Readings
Readings im ASC-Device selbst
Name | Datentyp/ Wertebereich |
Bedeutung |
---|---|---|
..._nextAstroTimeEvent | Uhrzeit des nächsten Astro-Events, Sonnenauf- oder Sonnenuntergang oder feste Zeit pro Rollonamen | |
..._lastPosValue | zuletzt abgesetzter Fahrbefehl pro Rollonamen | |
..._lastDelayPosValue | zuletzt abgesetzter Fahrbefehl, welcher beim nächsten zulässigen Event ausgeführt wird | |
partyMode | on, off | aktiviert den globalen Partymodus. Alle Rollläden, welche das Attribut AutoShuttersControl_Partymode bei sich auf on gestellt haben, werden nicht mehr gesteuert. Der letzte Schaltbefehl, welcher durch ein Fensterevent oder Bewohnerstatus an die Rollläden gesendet wurde, wird erst beim off-setzen (set <ASC-Device> partyMode off) ausgeführt |
lockOut | on, off | für das Aktivieren des Aussperrschutzes gemäß des entsprechenden Attributs AutoShuttersControl_lock-out im jeweiligen Rolladen (siehe Beschreibung bei den Attributen für die Rolladendevices) |
room_... | Auflistung aller Rollläden, welche in den jeweiligen Räumen gefunden wurden, Bsp.: room_Schlafzimmer,Terrasse | |
state | Status des <ASC-Device> active, enabled, disabled | |
sunriseTimeWeHoliday | on,off | legt fest, ob das Rolladendevice das Attribut AutoShuttersControl_Time_Up_WE_Holiday beachtet oder nicht |
userAttrList | rolled out | Status der UserAttribute, welche an die Rollläden gesendet werden |
Readings in den Rolllädendevices
Name | Bedeutung |
---|---|
ASC_Time_DriveUp | Sonnenaufgangszeit für das Rollo |
ASC_Time_DriveDown | Sonnenuntergangszeit für das Rollo |
ASC_ShuttersLastDrive | Grund des letzten Fahrens vom Rolladen |
set- und get-Befehle für das ASC-Device
set-Anweisungen
Name | Datentyp/ Wertebereich |
Beschreibung |
---|---|---|
partyMode | on, off | aktiviert den globalen Partymodus. Siehe Reading partyMode |
lockOut | on, off | aktiviert den globalen Aussperrschutz. Siehe Reading lockOut |
renewSetSunriseSunsetTimer | erneuert bei allen Rollläden die Zeiten für Sunset und Sunrise und setzt die internen Timer neu. | |
scanForShutters | sucht alle FHEM Devices mit dem Attribut AutoShuttersControl 1 oder 2 | |
sunriseTimeWeHoliday | on,off | aktiviert/deaktiviert die Beachtung des Attributes AutoShuttersControl_Time_Up_WE_Holiday für Rollladen-Devices |
createNewNotifyDev | Legt die interne Struktur für NOTIFYDEV neu an | |
selfDefence | on, off | aktiviert/deaktiviert den Selbstschutz: wenn das Residents-Device absent meldet, selfDefence aktiv ist und ein Fenster im Haus noch offen steht, wird an diesem Fenster das Rollo runtergefahren |
wiggle | bewegt einen Rollladen oder alle Rollläden (für Abschreckungszwecke bei der Alarmierung) um ASC_WiggleValue-%, und nach 1 Minute wieder zurück zur Ursprungsposition | |
get-Anweisungen
Name | Beschreibung |
---|---|
showShuttersInformations | zeigt eine Übersicht der Automatik-Fahrzeiten |
showNotifyDevsInformations | zeigt eine Übersicht der abgelegten NOTIFYDEV Struktur. Dient zur Kontrolle |
Attribute
Attribute direkt am ASC-Device
Name | Datentyp/ Wertebereich |
Default-Wert | Beschreibung |
---|---|---|---|
ASC_antifreezeTemp | Temperatur, ab welcher der Frostschutz greift und das Rollo nicht mehr fährt. Der letzte Fahrbefehl wird gespeichert | ||
ASC_autoAstroModeEvening | aktuell REAL, CIVIL, NAUTIC, ASTRONOMIC | (in genau dieser Schreibweise) | |
ASC_autoAstroModeEveningHorizon | Höhe über Horizont, wenn beim Attribut AutoShuttersControl_autoAstroModeEvening HORIZON ausgewählt | ||
ASC_autoAstroModeMorning | aktuell REAL, CIVIL, NAUTIC, ASTRONOMIC | (in genau dieser Schreibweise) | |
ASC_autoAstroModeMorningHorizon | Höhe über Horizont, wenn beim Attribut AutoShuttersControl_autoAstroModeMorning HORIZON ausgewählt | ||
ASC_autoShuttersControlComfort | on, off | aktiviert die Komfortfunktion. Bedeutet, dass ein Rollladen mit einem threestate (Drehgriff-) Sensor am Fenster beim Öffnen in die "Komfortposition" fährt. Diese wird beim Rollladendevice über das Attribut AutoShuttersControl_Pos_after_ComfortOpen eingestellt. | |
ASC_autoShuttersControlEvening | on, off | ob Abends die Rollläden automatisch zeitgesteuert werden sollen | |
ASC_autoShuttersControlMorning | on, off | ob Morgens die Rollläden automatisch zeitgesteuert werden sollen | |
ASC_temperatureReading | Reading für die Außentemperatur | ||
ASC_temperatureSensor | Device für die Außentemperatur | ||
ASC_timeUpHolidayDevice | Device zur Urlaubserkennung oder Sonstiges / muss 0 oder 1 im Reading state beinhalten. | ||
ASC_residentsDevice | Devicenamen des Residents-Device der obersten Ebene | ||
ASC_residentsDeviceReading | Status Reading des Residents-Device der obersten Ebene | ||
ASC_brightnessMinVal | minimaler Lichtwert, bei dem Schaltbedingungen noch geprüft werden sollen | ||
ASC_brightnessMaxVal | maximaler Lichtwert, bei dem Schaltbedingungen noch geprüft werden sollen | ||
ASC_rainSensorDevice | Device, welches bei Regen getriggert wird | ||
ASC_rainSensorReading | das ensprechende Reading zum Regendevice | ||
ASC_rainSensorShuttersClosedPos | Position in pct, welche der Rollladen bei Regen anfahren soll | ||
ASC_shuttersDriveOffset | maximale zufällige Verzögerung in Sekunden bei der Berechnung der Fahrzeiten, 0 bedeutet keine Verzögerung | ||
ASC_twilightDevice | Device, welches Informationen zum Sonnenstand liefert, wird unter anderem für die Beschattung verwendet. | ||
ASC_expert | bei 1 werden erweiterte Informationen bezüglich des NotifyDevs unter set und get angezeigt | ||
Attribute in den Rolllädendevices
Name | Datentyp/ Wertebereich |
Default-Wert | Beschreibung |
---|---|---|---|
ASC | 0, 1, 2 | 0 = "kein Anlegen der Attribute beim ersten Scan bzw. keine Beachtung eines Fahrbefehles",1 = "Inverse oder Rollo - Bsp.: Rollo Oben 0, Rollo Unten 100 und der Befehl zum prozentualen Fahren ist position",2 = "Homematic Style - Bsp.: Rollo Oben 100, Rollo Unten 0 und der Befehl zum prozentualen Fahren ist pct | |
ASC_Antifreeze | soft, am, pm, hard, off | Frostschutz, wenn soft fährt der Rollladen in die ASC_Antifreeze_Pos, bei hard/am/pm wird gar nicht oder innerhalb der entsprechenden Tageszeit nicht gefahren | |
ASC_Antifreeze_Pos | Position, die angefahren werden soll, wenn der Fahrbefehl komplett schließen lautet, aber der Frostschutz aktiv ist | ||
ASC_AutoAstroModeEvening | REAL, CIVIL, NAUTIC, ASTRONOMIC | aktuell REAL,CIVIL,NAUTIC,ASTRONOMIC | |
ASC_AutoAstroModeEveningHorizon | Höhe über Horizont, wenn beim Attribut ASC_autoAstroModeEvening HORIZON ausgewählt ist | ||
ASC_AutoAstroModeMorning | REAL, CIVIL, NAUTIC, ASTRONOMIC | aktuell REAL,CIVIL,NAUTIC,ASTRONOMIC | |
ASC_AutoAstroModeMorningHorizon | Höhe über Horizont, wenn beim Attribut ASC_autoAstroModeMorning HORIZON ausgewählt ist | ||
ASC_Closed_Pos | in 10er Schritten von 0 bis 100,default Vorgabe ist abhängig vom Attribut ASC | ||
ASC_Down | astro, time, brightness | bei astro wird Sonnenuntergang berechnet, bei time wird der Wert aus ASC_Time_Down_Early als Fahrzeit verwendet und bei brightness muss ASC_Time_Down_Early und ASC_Time_Down_Late korrekt gesetzt werden. Der Timer läuft dann nach ASC_Time_Down_Late-Zeit,es wird aber in der Zeit zwischen ASC_Time_Down_Early und ASC_Time_Down_Late geschaut, ob die als Attribut im Moduldevice hinterlegte ASC_brightnessMinVal erreicht wurde. Wenn ja, wird der Rolladen runter gefahren | |
ASC_Mode_Down | always, home, absent, off | wann darf die Automatik herunterfahren. immer, niemals oder bei Abwesenheit des Roommate (ist kein Roommate und absent eingestellt, wird gar nicht gesteuert) | |
ASC_Mode_Up | always, home, absent, off | wann darf die Automatik hochfahren. immer, niemals oder bei Abwesenheit des Roommate (ist kein Roommate und absent eingestellt, wird gar nicht gesteuert) | |
ASC_Drive_Offset | maximale zufällige Verzögerung in Sekunden bei der Berechnung der Fahrzeiten, 0 bedeutet sofort, -1 bedeutet, dass das gleichwertige Attribut aus dem ASC-Device ausgewertet werden soll | ||
ASC_Open_Pos | in 10er-Schritten von 0 bis 100, default Vorgabe ist abhängig vom Attribut ASC | ||
ASC_Partymode | on, off | schaltet den Partymodus an oder aus. Wird dann am ASC Device set <ASC-DEVICE> partyMode on geschaltet, werden alle Fahrbefehle an den Rollläden, welche das Attribut auf on haben, zwischengespeichert und erst später ausgeführt | |
ASC_Pos_Reading | Name des Readings, welches die Position des Rollladen in Prozent angibt. Wird bei unbekannten Device-Typen auch als set Befehl zum Fahren verwendet | ||
ASC_Pos_after_ComfortOpen | in 10er-Schritten von 0 bis 100, default Vorgabe ist abhängig vom Attribut ASC | ||
ASC_Roommate_Reading | Reading des Roommate-Device, welches den Status wieder gibt | ||
ASC_Roommate_Device | mit Komma getrennte Namen des/der Roommate-Device/s welche den/die Bewohner des Rollladen-Raumes wiedergibt. Macht nur Sinn in Schlaf- oder Kinderzimmern | ||
ASC_Time_Down_Early | Sunset früheste Zeit zum Runterfahren | ||
ASC_Time_Down_Late | Sunset späteste Zeit zum Runterfahren | ||
ASC_Time_Up_Early | Sunrise früheste Zeit zum Hochfahren | ||
ASC_Time_Up_Late | Sunrise späteste Zeit zum Hochfahren | ||
ASC_Time_Up_WE_Holiday | Sunrise früheste Zeit zum Hochfahren am Wochenende und/oder Urlaub (holiday2we wird beachtet). | ||
ASC_Up | astro, time, brightness | bei astro wird Sonnenaufgang berechnet, bei time wird der Wert aus ASC_Time_Up_Early als Fahrzeit verwendet und bei brightness müssen ASC_Time_Up_Early und ASC_Time_Up_Late korrekt gesetzt werden. Der Timer läuft dann nach ASC_Time_Up_Late-Zeit, es wird aber in der Zeit zwischen ASC_Time_Up_Early und ASC_Time_Up_Late geschaut, ob die als Attribut im Moduldevice hinterlegte ASC_brightnessMinVal erreicht wurde. Wenn ja, wird der Rolladen runter gefahren | |
ASC_Ventilate_Pos | in 10er-Schritten von 0 bis 100, default Vorgabe ist abhängig vom Attribut ASC | ||
ASC_Ventilate_Window_Open | auf lüften, wenn das Fenster gekippt/geöffnet wird und aktuelle Position unterhalb der Lüften-Position ist | ||
ASC_WindowRec | Name des Fensterkontakts, an welchen Fenster der Rollladen angebracht ist. Sein Reading state muss die Werte open, closed oder tilted enthalten. | ||
ASC_WindowRec_subType | Typ des verwendeten Fensterkontakts: twostate (optisch oder magnetisch) oder threestate (Drehgriffkontakt) | ||
ASC_lock-out | soft, hard | stellt entsprechend den Aussperrschutz ein. Bei global aktiven Aussperrschutz (set ASC-Device lockOut soft) und einem Fensterkontakt open bleibt dann der Rolladen oben. Dies gilt nur bei Steuerbefehle über das ASC-Modul. Stellt man global auf hard, wird bei entsprechender Möglichkeit versucht, den Rollladen hardwareseitig zu blockieren. Dann ist auch ein Fahren über die Taster nicht mehr möglich. | |
ASC_lock-outCmd | inhibit, blocked | set Befehl für das Rolladen-Device zum Sperren per Hardware. Der Befehl wird verwendet, wenn ASC_lock-out auf hard gesetzt ist | |
ASC_Self_Defense_Exclude | on, off | bei on wird dieser Rolladen bei aktiven selfDefence und offenen Fenster nicht runter gefahren, wenn Residents absent ist | |
ASC_Shading_Brightness_Sensor | Sensor-Device, welches für die Lichtwerte verwendet wird. ACHTUNG! Findet auch Verwendung bei ASC_Down - brightness | ||
ASC_BrightnessMinVal | minimaler Lichtwert, bei dem Schaltbedingungen noch geprüft werden sollen / wird der Wert von -1 nicht geändert, so wird automatisch der Wert aus dem Moduldevice genommen | ||
ASC_BrightnessMaxVal | maximaler Lichtwert, bei dem Schaltbedingungen noch geprüft werden sollen / wird der Wert von -1 nicht geändert, so wird automatisch der Wert aus dem Moduldevice genommen | ||
ASC_ShuttersPlace | window, terrace | wenn dieses Attribut auf terrace gesetzt ist und das Residents-Device in den Status gone geht und selfDefence aktiv ist, wird das Rollo geschlossen | |
ASC_WiggleValue | Wert, um welchen sich die Position des Rollladens bei Wiggle ändern soll | ||
Hilfsmittel
Interne Übersicht
define ASC_Jalousie_Info weblink htmlCode {AutoShuttersControl::GetShuttersInformation($defs{'JalousieControl'})}
readingsGroup für Level
define rg_ASC_Rollaeden_Level readingsGroup <Gerät>,<ASC>,<Antifreeze>,<Antifreeze_Pos>,<Closed_Pos>,<Open_Pos>,<ASC_Ventilate_Pos> \ (.*Rollladen.*|.*Rollladen|Jalousie_.*):?ASC,?ASC_Antifreeze,?ASC_Antifreeze_Pos,?ASC_Closed_Pos,?ASC_Open_Pos,?ASC_Ventilate_Pos setuuid rg_ASC_Rollaeden_Level 5c4308e1-f33f-abd1-167d-cc1b5f137cf793c8 attr rg_ASC_Rollaeden_Level commands {ASC => 'ASC:0,1,2',\ ASC_Antifreeze => 'ASC_Antifreeze:off,soft,hard,am,pm',\ ASC_Antifreeze_Pos =>'ASC_Antifreeze_Pos:0,10,20,30,35,40,45,50,55,60,65,70,75,80,85,90,95,100', \ ASC_Closed_Pos => 'ASC_Closed_Pos:0,10,20,30,35,40,45,50,55,60,65,70,75,80,85,90,95,100', \ ASC_Open_Pos => 'ASC_Open_Pos:0,10,20,30,35,40,45,50,55,60,65,70,75,80,85,90,95,100', \ ASC_Ventilate_Pos => 'ASC_Ventilate_Pos:0,10,20,30,35,40,45,50,55,60,65,70,75,80,85,90,95,100'} attr rg_ASC_Rollaeden_Level room 9.72_Rolladen
readingsGroup für Zeiten
define rg_ASC_Rollaeden_Times readingsGroup <Gerät>,<Position>,<Time_Up_Early>,<Time_Up_Late>,<Time_Up_WE/Hol>,<Time_Down_Early>,<Time_Down_Late>,<Mode_Down>,<Mode_Up> \ (.*Rollladen.*|.*Rollladen|Jalousie_.*):level,?ASC_Time_Up_Early,?ASC_Time_Up_Late,?ASC_Time_Up_WE_Holiday,?ASC_Time_Down_Early,?ASC_Time_Down_Late,?ASC_Mode_Down,?ASC_Mode_Up setuuid rg_ASC_Rollaeden_Times 5c4308e1-f33f-abd1-94a7-fbf717635760f863 attr rg_ASC_Rollaeden_Times commands {level => 'pct:0,10,20,30,35,40,45,50,55,60,65,70,75,80,85,90,95,100', \ ASC_Time_Down_Early => 'ASC_Time_Down_Early:15:00,15:15,15:30,15:45,16:00,16:15,16:30,16:45,17:00,17:15,17:30,17:45,18:00,18:15,18:30,18:45,19:00,19:15,19:30,19:45,20:00,20:15,20:30,20:45,21:00,21:15,21:30,21:45,22:00', \ ASC_Time_Down_Late => 'ASC_Time_Down_Late:19:00,19:15,19:30,19:45,20:00,20:15,20:30,20:45,21:00,21:15,21:30,21:45,22:00,22:15,22:30,22:45,23:00,23:15,23:30', \ ASC_Time_Up_WE_Holiday => 'ASC_Time_Up_WE_Holiday:06:00,06:15,06:30,06:45,07:00,07:15,07:30,07:45,08:00,08:15,08:30,08:45,09:00,09:15,09:30,09:45,10:00',\ ASC_Time_Up_Early => 'ASC_Time_Up_Early:05:00,05:05,05:30,05:45,06:00,06:15,06:30,06:45,07:00,07:15,07:30,07:45,08:00,08:15,08:30,08:45,09:00,09:15,09:30,09:45,10:00', \ ASC_Time_Up_Late => 'ASC_Time_Up_Late:06:00,06:15,06:30,06:45,07:00,07:15,07:30,07:45,08:00,08:15,08:30,08:45,09:00,09:15,09:30,09:45,10:00', \ ASC_Mode_Down => 'ASC_Mode_Down:always,absent,off', \ ASC_Mode_Up => 'ASC_Mode_Up:always,absent,off' } attr rg_ASC_Rollaeden_Times room 9.72_Rolladen
readingsGroup für FIBARO Roller Shutter FGR-222 Devices
define ASC_Jalousien_Times readingsGroup <Gerät>,<Stand>,<Time_Up_Early>,<Time_Up_WE>,<Time_Up_Late>,<Time_Down_Early>,<Time_Down_Late>,<Mode_Down>,<Mode_Up>,<PartyMode>,<LockOut> (.*_Jalousie.*):position,?ASC_Time_Up_Early,?ASC_Time_Up_WE_Holiday,?ASC_Time_Up_Late,?ASC_Time_Down_Early,?ASC_Time_Down_Late,?ASC_Mode_Down,?ASC_Mode_Up,?ASC_Partymode,?ASC_LockOut attr ASC_Jalousien_Times commands {position => 'dim:0,10,20,30,35,40,45,50,55,60,65,70,75,80,85,90,95,99', ASC_Mode_Down => 'ASC_Mode_Down:always,absent,off', ASC_Mode_Up => 'ASC_Mode_Up:always,absent,off', ASC_Partymode => 'ASC_Partymode:on,off', ASC_LockOut => 'ASC_LockOut:soft,hard,off', ASC_Time_Down_Early => 'ASC_Time_Down_Early:15:00,15:15,15:30,15:45,16:00,16:15,16:30,16:45,17:00,17:15,17:30,17:45,18:00,18:15,18:30,18:45,19:00,19:15,19:30,19:45,20:00,20:15,20:30,20:45,21:00,21:15,21:30,21:45,22:00', ASC_Time_Down_Late => 'ASC_Time_Down_Late:20:15,20:30,20:45,21:00,21:15,21:30,21:45,22:00,22:15,22:30,22:45,23:00,23:15,23:30', ASC_Time_Up_Early => 'ASC_Time_Up_Early:05:00,05:05,05:30,05:45,06:00,06:15,06:30,06:45,07:00,07:15,07:30,07:45,08:00,08:15,08:30,08:45,09:00,09:15,09:30,09:45,10:00', ASC_Time_Up_Late =>'ASC_Time_Up_Late:06:00,06:15,06:30,06:45,07:00,07:15,07:30,07:45,08:00,08:15,08:30,08:45,09:00,09:15,09:30,09:45,10:00', ASC_Time_Up_WE_Holiday => 'ASC_Time_Up_WE_Holiday:06:00,06:15,06:30,06:45,07:00,07:15,07:30,07:45,08:00,08:15,08:30,08:45,09:00,09:15,09:30,09:45,10:00'} attr ASC_Jalousien_Times room Jalousien
define Jalousien_Level readingsGroup <Gerät>,<Closed_Pos>,<Open_Pos>,<Comfort_Pos>,<Ventilate_Pos>,<PrivacyDown_Pos>,<Shading_Pos> (.*_Jalousie.*):?ASC_Closed_Pos,?ASC_Open_Pos,?ASC_ComfortOpen_Pos,?ASC_Ventilate_Pos,?ASC_PrivacyDown_Pos,?ASC_Shading_Pos attr Jalousien_Level commands { ASC_Closed_Pos => 'ASC_Closed_Pos:0,10,20,30,35,40,45,50,55,60,65,70,75,80,85,90,95,99', ASC_Open_Pos => 'ASC_Open_Pos:0,10,20,30,35,40,45,50,55,60,65,70,75,80,85,90,95,99', ASC_ComfortOpen_Pos => 'ASC_ComfortOpen_Pos:0,10,20,30,35,40,45,50,55,60,65,70,75,80,85,90,95,99', ASC_Ventilate_Pos => 'ASC_Ventilate_Pos:0,10,20,30,35,40,45,50,55,60,65,70,75,80,85,90,95,99', ASC_PrivacyDown_Pos => 'ASC_PrivacyDown_Pos:0,10,20,30,35,40,45,50,55,60,65,70,75,80,85,90,95,99', ASC_Shading_Pos => 'ASC_Shading_Pos:0,10,20,30,35,40,45,50,55,60,65,70,75,80,85,90,95,99'} attr Jalousien_Level room Jalousien
Einrichtungsbeispiel
Zielsetzung und Vorgaben
Es sollen alle Rollläden und Jalousien in einem Haus innerhalb bestimmter zeitlicher Grenzen Morgens und Abends sonnenstandsabhängig gefahren werden, an den Wochenenden und an Ferientagen soll etwas später geöffnet werden. Es sind Tür- und Fensterkontakte vorhanden (Türkontakte: twoState, Fensterkontakte: threeState), wobei bei jeder Öffnung ein eventuell geschlossener Rollladen geöffnet werden soll. Bei allen Rollladnaktoren, Tür- und Fensterkontakten handelt es sich um CUL_HM-Geräte.
Vorarbeiten
Im global-Device sind Angaben zu latitude und longitude vorhanden, holiday2we wie folgt[4]:
attr global holiday2we bw,ferien
Weitere Angaben benötigen wir zunächst nicht, die Festlegung eines Astro-Devices erfolgt hier erst im Rahmen der Beschattung.
Dann erfolgt das Define des ASC-Devices wie oben beschrieben:
define Rollladenautomatik AutoShuttersControl
Folgen die einzubindenden Rollladenaktoren einem einheitlichen Namensschema, können diese sodann z.B. mit
attr (Jalousie|Rolladen)_.* ASC 2
auf einen Rutsch mit dem passenden ASC-Typ gekennzeichnet werden. Dann verteilen wir mir
set Rollladenautomatik scanForShutters
die nachfolgend weiter zu bearbeitenden Attribute.
Konfiguration des ASC-Devices
Da wir sonnenstandsabhängig Fahrzeiten wollen, legen wir erst einmal fest, dass dies morgens und abends berücksichtigt werden soll:
attr Rollladenautomatik ASC_autoAstroModeEvening CIVIL attr Rollladenautomatik ASC_autoAstroModeMorning CIVIL attr Rollladenautomatik ASC_autoShuttersControlEvening on attr Rollladenautomatik ASC_autoShuttersControlMorning on
Aus der Angabe CIVIL und den Vorgaben in den einzelnen Rollladen wird dabei mit Hilfe von SUNRISE_EL die effektive Fahrzeit berechnet, dort finden sich auch weitere Hinweise, zu den meisten anderen Optionen für die ersten beiden Attribute. Bei allen Fensteröffnungen soll auf Lüften-Position gefahren werden, also schalten wir diese Funktion ebenfalls zentral an[5]:
attr Rollladenautomatik ASC_autoShuttersControlComfort on
Zuletzt legen wir noch einen Temperatur-Sensor fest. Dieser wird beim Frostschutz sowie bei der Beschattung berücksichtigt.
attr Rollladenautomatik ASC_temperatureSensor Aussentemperatur_Nord attr Rollladenautomatik ASC_temperatureReading temperature attr Rollladenautomatik ASC_freezeTemp 3
tbd: Rain
Fahrzeiten
Zur Konfiguration der Fahrzeiten bietet es sich an, eine ReadingsGroup zu nutzen, wie unter Hilfsmittel dargestellt. Alternativ kann man die Zeiten auch manuell in den einzelnen Rollläden hinterlegen.
Fensterkontakte
Sonstige Hinweise
- Werden Attribute geändert, kann es vereinzelt vorkommen, dass das ASC-Modul dies nicht mitbekommt und das tatsächliche Verhalten nicht den Erwartungen entspricht. In so einem Fall empfielt es sich, das NOTIFYDEV nochmals aufbauen zu lassen mit
set <ASC-Modul> createNewNotifyDev
.
Weblinks
- "Thread zum Modul im Forum"
- "Thread zur Entwicklung im Forum"
- "Thread zu den Scripten von user cluni", die der Entwicklung des Moduls zugrunde liegen
- ↑ Dabei müssen ggf. in global auch Angaben zu longitude und latitude vorhanden sein
- ↑ Es kann auch z.B. ein Dummy-Device verwendet werden, dieses sollte dann aber auch in einem Reading tomorrow Angaben zu anstehenden Feiertagen enthalten.
- ↑ Bitte verfahren Sie entsprechend, wenn Urlaubs- oder Ferientage wie Feiertage behandelt werden sollen.
- ↑ ferien ist eine automatisiert erstellte holiday-Datei nach diesem Foren-Beitrag.
- ↑ Sonst wird bei threeState-Sensoren nur bei tilted gefahren.