Rollladen Terrassentür

Begonnen von heerbommel, 05 April 2016, 15:00:10

Vorheriges Thema - Nächstes Thema

heerbommel

Hallo an alle,

bisher hatte ich eine CCU von homematic und bin nun auf FHEM umgestiegen. Für den Rollladen an der Terrassentür brauche ich eine spezielle Automatisierung:
Ab(!) einer bestimmten Uhrzeit (nehmen wir mal 23 Uhr) soll dann, wenn die Terrassentür zu ist und das Licht aus ist, der Rollladen erst 10% nach unten fahren und dann nach 5 Minuten ganz herunter fahren.
Das soll davor schützen, dass man im Sommer gerade draußen sitzt und der Rollladen uns aussperrt. :) In der CCU hat das super funktioniert, aber in FHEM schaffe ich es nur zu programmieren, dass genau um 23 Uhr geprüft wird. Ist dann Licht an, tut sich nichts, was richtig ist. Wird dann aber das Licht um 23:09 Uhr ausgeschaltet und die Tür geschlossen, müsste der Rollladen sofort auf 10% und dann ganz zu gehen, weil ja alle Bedingungen eingetreten sind.
Wie setze ich das um?

Vielen Dank für das Mitdenken!

Stefan.

Ellert


Devender

#2
hi Stefan,

Vielleicht hilft dir meine Loesung etwas weiter.


*19:45:00 {
           if ($hour >=18) {
                    if
                      (Value ("FK_HM_WZ_T1") eq "closed" &&  ReadingsVal ("st_anwesenheit","state","absent") eq "absent" )
                         {fhem("set Wohnzimmer_T1 on")} 
                   elsif
                      (Value ("FK_HM_WZ_T1") eq "open")
                         {fhem("set Wohnzimmer_T1 off") }
                           }
                                                   }


Define Tuerautomatik at *19:45:00 <hier z.b dein Code>
Mit at *+00:10:00 würdest du alle 10min pruefen
Ich prüfe um genau 19:45 per at, ob der Fensterkontakt geschlossen ist und ich nicht da bin.
Dann geht das Rollo Whztuer runter.
Sollte das if nicht zutreffen bleibt das Rollo oben oder wird, wenn es sich in einer anderen Position befindet als offen, geöffnet.
Bisher funktioniert es super.

Gruesse,
Dirk
FHEM 5.8 auf RasPi mit Jessy - CUL868, JeeLink Lacrosse
Komponenten: HM, IT, ELV, FB7390, FritzPL543,Sonos Play3
Mehrere Wandtablets sowie einen Smart Mirror
https://wiki.fhem.de/wiki/Anwesenheitserkennung#PRESENCE-Modul

heerbommel

@Devender: dies habe ich schon so umgesetzt, aber mich stört, dass nur an dem bestimmten Zeitpunkt abgefragt wird. Es soll ja auch der Rollo runter, wenn man *nach* dem Zeitpunkt der Überprüfung rein geht, die Tür schließt und das Licht löscht. Eine Überprüfung alle 10 Minuten dürfte den Datenverkehr zu sehr belasten.

@Ellert: ui, DOIF scheint mächtig zu sein...  ???

Dann müsste es bei mir heißen:


define Rollo_Automatik DOIF (([TuerkontaktEZ] eq "closed") and ([LichtTerrasse] eq "off") and ([{sunset()}]) (set RolloEZ desired 90) (set RolloEZ off))

attr Rollo_Automatik wait 1,300


Es würde nach Sonnenuntergang, bei Tür zu und Licht aus die erste Bedingung 1 Sekunde später, die 2. Bedingung 5 Minuten später ausgelöst.

Oder?

Was ist, wenn zwischen den zwei Befehlszeiten eine Bedingung verändert wird (zum Beispiel die Tür geöffnet wird)? Wird dann trotzdem Befehl2 ausgeführt, weil die Bedingung im DOIF mal zutraf?

Ade, STEFAN.

bloodybeginner

Hi,

sunset() ist ein ZeitPUNKT - um in einem ZeitRAUM zu schalten (sofern die anderen Bedingungen erfüllt sind), ist eine Start und Endzeit notwendig.

Hier mal meine Lösung:

([Tuerkontakt.Balkon] eq "closed" and [22:00-4:00]) (set Rollo.Balkon off, set Rollo.Balkon inhibit off, {Log 3,"DOIF_Balkon  Timer 1 - $DEVICE:$EVENTS"})
DOELSEIF ([Tuerkontakt.Balkon] eq "open" and [20:30-6:00] and [Rollo.Balkon:level] < 80)(set Rollo.Balkon inhibit on, set Rollo.Balkon on, {Log 3,"DOIF_Balkon Timer 2- $DEVICE:$EVENTS"})
DOELSEIF ([Tuerkontakt.Balkon] eq "open")(set Rollo.Balkon inhibit on, {Log 3,"DOIF_Balkon Timer 3 - $DEVICE:$EVENTS"})
DOELSEIF ([Tuerkontakt.Balkon] eq "closed")(set Rollo.Balkon inhibit off, {Log 3,"DOIF_Balkon Timer 4 - $DEVICE:$EVENTS"} )
DOELSEIF ([Tuerkontakt.Balkon] eq "tilted" and [20:00-6:00] and [Rollo.Balkon:level] < 10) (set Rollo.Balkon pct 10 , {Log 3,"DOIF_Balkon Timer 5 - $DEVICE:$EVENTS"})
DOELSEIF ([6:00|8] or [7:00|7]) (set Rollo.Balkon on, {Log 3,"DOIF_Balkon Timer 6 - $DEVICE:$EVENTS"})


Da wir auf dem Balkon rauchen, fahre ich frühestens um 22:00 runter. Sofern Du hier den Sonnuntergang heranziehen willst, schau dir mal !isday() an - sollt das sein was Du suchst.
Das set Rollo.Balkon inhibit on sperrt den Rolladenaktor wenn der three State Sensor ein open meldet

//bb

noanda

@ heerbommel: Wie erkennst du ob jemand daheim ist? ich steuere meine Türe nach der Bedingung wenn "Present" und nicht bei Schlafen und Türe offen, dann Rolladen oben, sonst Rolladen zu.

Bei den Fenstern ist es anders da ist es eine Mischung aus Einbruchschutz, Beschattung und Sonnenuntergang. Alles mit DOIF.

noa
Raspberry Pi - FHEM 5.5
HMLAN, RFXtrx433 , CUL 868
HM-CC-RT-DN, HM-SEC-MDIR , HM-SEC-SC-2
HM-LC-SW2-FM, ROTO_ZEL-STG-RM-FZS
ELRO440AB, Flamingo

Ellert

Zitat von: heerbommel am 06 April 2016, 22:00:02
@Devender: dies habe ich schon so umgesetzt, aber mich stört, dass nur an dem bestimmten Zeitpunkt abgefragt wird. Es soll ja auch der Rollo runter, wenn man *nach* dem Zeitpunkt der Überprüfung rein geht, die Tür schließt und das Licht löscht. Eine Überprüfung alle 10 Minuten dürfte den Datenverkehr zu sehr belasten.

@Ellert: ui, DOIF scheint mächtig zu sein...  ???

Dann müsste es bei mir heißen:


define Rollo_Automatik DOIF (([TuerkontaktEZ] eq "closed") and ([LichtTerrasse] eq "off") and ([{sunset()}]) (set RolloEZ desired 90) (set RolloEZ off))

attr Rollo_Automatik wait 1,300


Es würde nach Sonnenuntergang, bei Tür zu und Licht aus die erste Bedingung 1 Sekunde später, die 2. Bedingung 5 Minuten später ausgelöst.

Oder?

Was ist, wenn zwischen den zwei Befehlszeiten eine Bedingung verändert wird (zum Beispiel die Tür geöffnet wird)? Wird dann trotzdem Befehl2 ausgeführt, weil die Bedingung im DOIF mal zutraf?

Ade, STEFAN.

Wie schon erwähnt müsstest Du eine Zeitspanne einbauen:
statt ([{sunset()}]) z.B. ([{sunset()}-{sunrise()}])

DOIF mit einem Bedingungszweig hat einen cmd_2 Status, wenn die Bedingung unwahr wird, es könnte daher sein, dass die Befehlsausführung abgebrochen wird, einfach mal ausprobieren.

Ich würde ein DOELSEIF einbauen, das den Rolladen öffnet, wenn die Tür geöffnet wird.

Devender

Was spricht gegen ein Notfiy, das wenn du nach 22:00 die Tür schliesst und das Licht ausschaltest triggert und dann das Rollo endgültig schließt?

Mit Presend mache ich das auch. Meine Tür geht normal um 19:45 runter aber nur wenn ich nicht Present bin.
FHEM 5.8 auf RasPi mit Jessy - CUL868, JeeLink Lacrosse
Komponenten: HM, IT, ELV, FB7390, FritzPL543,Sonos Play3
Mehrere Wandtablets sowie einen Smart Mirror
https://wiki.fhem.de/wiki/Anwesenheitserkennung#PRESENCE-Modul

Peer Plex

Hallo Stefan,

vielleicht kannst Du daraus etwas gebrauchen. Um ein Aussperren sicher zu vermeiden, frage ich einen Drehgriffkontakt ab. Mit DOIF lässt sich dann auch sehr einfach darstellen, dass die Jalousie aufgeht, wenn die Türe geöffnet wird, bzw. auffächert, wenn die Türe gekippt wird. Der Status des Drehgriffs wird dazu mit 1s Verzögerung ausgewertet (Attr 'wait' im DOIF).

Statt auf den Dämmerungswert auszulösen, könntest Du einen Zeitbereich und Deine Lampe abfragen.


## Morgens auf
([MyTwilight:twilight_wetter] > 35 and [?Jalousie_Terrasse:level] > 80) (set Jalousie_Terrasse 80)

DOELSEIF ([05:30-09:00|8] and [MyTwilight:twilight_wetter] > 45)  (set Jalousie_Terrasse auf)
DOELSEIF ([08:00-09:00|7] and [MyTwilight:twilight_wetter] > 45) (set Jalousie_Terrasse auf)

## Abends zu & Griffsteuerung
DOELSEIF ([MyTwilight:twilight_wetter] < 20 and [Fenstertuer_Terrasse] eq "closed") (set Jalousie_Terrasse 100)

## Griffsteuerung
DOELSEIF ([Fenstertuer_Terrasse] eq "open" and [?Jalousie_Terrasse:pct] > 0) (set Jalousie_Terrasse 0)
DOELSEIF ([Fenstertuer_Terrasse] eq "tilted" and [?Jalousie_Terrasse:pct] > 80) (set Jalousie_Terrasse 80)

errazzor

Also ich mache es auch mit DOIF und dem Abfragen des Drehgriffkontaktes.

Sinngemäß: Wenn bei Sonnenuntergang der Status des Drehgriffs NICHT offen ist (also bei tilted und closed), fahre Rollo runter.

Wenn der Griff "open" ist, passiert nichts mehr und ich fahre den Rollo dann manuell.
Macht für meine Bedürfnisse am meisten Sinn.

Kugler

#10
Ich habe es bei mir viel einfacher gemacht, weil die Rollladen habe ich von der Firma Sirenko so bei mir installieren lassen, dass die Sensoren, wenn die Sonne scheint, einfach zugemacht werden auch während des Tages und außerdem wird es auch automatisch nach 21 alles zugemacht, weil da auch ein Timer installiert ist. Demnächst werde ich auch eine Alarmanlage Telenot bei mir installieren lassen, und ich will es mit Fhem so verbinden, dass ich alles mit Tablet bzw. Smartphone steuern will, auch das Analoge rauf und runter rollen von Rollladen, das werde ich aber von derselben Firma machen lassen, weil für mich Selbst ist, es zu kompliziert. Dann werde ich Euch kurz Berichten was die da für Hardware benutzt haben, und wenn ich es herausfinde, auch was für Software.
Schöne Grüße.

heerbommel

Hallo!

Zitat von: errazzor am 12 April 2016, 16:03:08
Also ich mache es auch mit DOIF und dem Abfragen des Drehgriffkontaktes.

...das klingt einfach und gut. Problem ist: die Drehgriffsensoren von Homematic passen nicht richtig auf unsere abschließbaren Drehgriffe (Stand von vor ungefähr 4 Jahren, denn da kaufte ich einen der Sensoren). Wenn ich mich richtig erinnere, dann ist der Vierkantstab in unserem Drehgriff etwas zu dick. Ich hatte damals schon versucht, das Loch mit einer Feile zu erweitern. Aber dabei ist das Plastik gebrochen und der Sensor war hinüber. :( Aus diesem Grund kann ich nur den Zustand der Tür abfragen und dabei kann es sein, dass die Tür zu ist, obwohl wir noch draußen sitzen (damit keine Insekten reinkommen). Wenn dann der Rollo runter gehen würde, wäre es blöd. :)

Ade, STEFAN.

CoolTux

Bei mir waren die Vierkannt om Drehgriff auch zu dick. Dann passt man halt das Loch etwas an. Bohrer zur Hand und los geht das  ;D
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Intruder1956

Zotac CI547 32GB RAM 500GB SSD,ESXI 6.5, VM-Fhem5.8, VM-ioBroker, Cul 868Mhz;Cul 433Mhz = Busware, LGW, HM-MOD-RPI-PCB, Uniroll, IT YCR-100 TMT2100,ITR-1500, LD382 mit Wifilight, ESA 2000 + SENSOR WZ SET,FS20 TFK, HM-Sec-SC, HM-CC-RT-DN,PCA301,

CoolTux

Ist doch nur Plaste. Bisschen bohren, bisschen feilen und gut ist. Zur Not kann man auch schnitzen.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net