FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: M-1978 am 03 Juli 2015, 12:45:55

Titel: Rolladen sollen sich beim öffen des Fenster die letzte Position merken
Beitrag von: M-1978 am 03 Juli 2015, 12:45:55
Hallo zusammen,

habe mittlerweile alle meine Rolladen im Haus auf Homematic (Aktor HM-LC-Bl1PBU-FM, Kontakte HM-Sec-SCo) umgerüstet und auch grundlegend konfiguriert. Die Standard Geschichten automatisch auf und zu (Sunrise, Sunset, Temperatur gesteuert) der Zustand der Fenster funktionieren sehr zuverlässig. Zusätzlich habe ich noch einen "Aussperrschutz" eingerichtet, bei offener Terrassentür wird der Schalter gesperrt (Kids finden es lustig die Eltern auszusperren ;-) ) und das der Rolladen an der Terrassentür und am Küchenfenster hochgefahren wird wenn die Türe bzw. das Fenster geöffnet wird.
Mein Problem ist jetzt Grundsätzlich das FHEM sich nicht den letzten Zustand des Rolladen merkt, besonders blöd ist es wenn der Rolladen beim öffnen der Türe zum Beispiel offen war und dann beim schliessen generell geschlossen wird und nicht den vorherigen Zustand einnimmt.
Habe jetzt schon einiges recherchiert komme aber auf keinen grünen Zweig. Wie bekomme ich FHEM am einfachsten dazu sich den vorherigen Zustand des Rolladen zu merken und diesen nach dem schließen des Fenster wieder einzunehmen.

Würde mich über ein paar Anregungen, Beispiele bzw. einen "Schubs" in die richtige Richtung freuen.

Gruss
Martin
Titel: Antw:Rolladen sollen sich beim öffen des Fenster die letzte Position merken
Beitrag von: Rince am 03 Juli 2015, 12:52:24
Schau mal LightScene an. Das kann deutlich mehr als nur "Licht".
Damit kannst du einen Zustand (Szene, da die Rollos reinpacken) speichern und wieder setzen.
Titel: Antw:Rolladen sollen sich beim öffen des Fenster die letzte Position merken
Beitrag von: M-1978 am 03 Juli 2015, 14:42:18
Hallo,

danke für deine Anregung, habe mir das mal angeschaut, im Moment erschließt sich die ganze Sache mir noch nicht, aber mal schauen.

Gruss
Martin
Titel: Antw:Rolladen sollen sich beim öffen des Fenster die letzte Position merken
Beitrag von: bunni am 03 Juli 2015, 14:54:15
Hallo Martin,
kannst Du vielleicht Deine Einstellungen bezüglich Sunset,Sunrise und Temperaturgesteuert posten, ich habe das selbe vor und würde
mich darüber sehr freuen. Wie fragst Du die Temperatur ab? Über LaCross Temperaturfühler?
Danke
Titel: Antw:Rolladen sollen sich beim öffen des Fenster die letzte Position merken
Beitrag von: Wuppi68 am 03 Juli 2015, 15:49:23
und wie löst ihr das zeitliche Problem?

Ich gehe raus grillen --> Rollade oben; Tür auf
Die Automatik will Rollade runtermachen -> Rollade bleibt aber auf, da Tür auf
Ich komme wieder ein und mache die Tür zu --> Rollade auf "alten Wert" = Oben; Automatik sagt "zu"

Für jede Rollade einen Wert (Ist, Soll und Last) speichern? Und dann bei jeder Aktion die Werte Soll und Last entsprechend modifizieren?
Titel: Antw:Rolladen sollen sich beim öffen des Fenster die letzte Position merken
Beitrag von: Deudi am 03 Juli 2015, 17:11:15
Ich mache mit sunrise/sunset nicht nur die Rolläden zu, sondern setzte mir auch einen dummy für den Sollzustand. Mache ich daher tagsüber die Tür auf und wieder zu, bleibt der Rolladen oben. Mache ich das gleiche zeitlich nach sunset, geht nach Schließen der Tür der Rolladen runter. Fertig.
Falls man sich irgendwelche Zwischenstände merken will, kann man bei jedem Rolladen ein Reading "last_setting" anlegen. Meldet nun der Türkontakt eine geöffnete Tür, schreibt man sich den letzten Stand ins Reading und fährt den Rolladen hoch. Geht die Tür wieder zu, fährt man den Rolladen auf den Stand des Readings. Hatte ich mal so, hab ich wieder weggemacht, weil es mir anders besser gefällt.
Titel: Antw:Rolladen sollen sich beim öffen des Fenster die letzte Position merken
Beitrag von: M-1978 am 05 Juli 2015, 01:12:21
@bunni

im Prinzip bin ich nach der Command Ref vorgegangen, habe dazu DOIF verwendet, habe die beiden nachfolgenden Anwendungsbeispiele auf meine Anforderungen angepasst:

Schalten mit Zeitfunktionen, hier: bei Sonnenaufgang und Sonnenuntergang:

define di_light DOIF ([{sunrise_abs()}-{sunset(1800,"17:00","21:00")}])(set outdoorlight off) DOELSE (set outdoorlight on)

Anwendungsbeispiel: Beschattungssteuerung abhängig von der Temperatur. Der Rollladen soll runter von 11:00 Uhr bis Sonnenuntergang, wenn die Temperatur über 26 Grad ist. Temperaturschwankungen um 26 Grad werden mit Hilfe des wait-Attributes durch eine 15 minutige Verzögerung ausgeglichen.

define di_shutters DOIF ([sensor:temperature] > 26 and [11:00-{sunset_abs()}] (set shutters down) DOELSE (set shutters up)
attr di_shutters wait 900:900

Als Temperaturesensoren benutze ich 2 Homematic HM-WDS10-TH-O


@Deudi
genau das habe ich vor, wenn die Türe bzw. das Fenster geöffnet wird, den letzten Stand des Rolladen "merken", gegebenenfalls soll der Rolladen hochfahren und nach dem schließen des Fenster soll der Rolladen wieder in die vorherige Position fahren. Irgendwie bekommen ich das Thema Reading "last_setting" nicht gebacken. Kannst du mir evtl. auf die Sprünge helfen, evtl. mit einem allgemeinen Beispiel? das wäre echt klasse. Generell fährt der Rollladen beim öffnen des Fensters hoch und beim schließen wieder herunter, aber das macht er im Moment halt immer, egal ob er offen war oder nicht.

Gruss
Martin
Titel: Antw:Rolladen sollen sich beim öffen des Fenster die letzte Position merken
Beitrag von: Deudi am 05 Juli 2015, 13:37:13
Zitat von: M-1978 am 05 Juli 2015, 01:12:21
@Deudi
genau das habe ich vor, wenn die Türe bzw. das Fenster geöffnet wird, den letzten Stand des Rolladen "merken", gegebenenfalls soll der Rolladen hochfahren und nach dem schließen des Fenster soll der Rolladen wieder in die vorherige Position fahren. Irgendwie bekommen ich das Thema Reading "last_setting" nicht gebacken. Kannst du mir evtl. auf die Sprünge helfen, evtl. mit einem allgemeinen Beispiel? das wäre echt klasse.

Hallo Martin,

ich kann dir mal grob beschreiben, wie das bei mir läuft. Ich gehe mal davon aus, dass du dich etwas mit Perl beschäftigt hast, daher nur pseudo-code:
1. Notify anlegen, dass bei jeder Änderung eines Fensters eine Funktion in der 99_myUtils aufruft.
2. Wenn ein Fenster auf "open" gegangen ist, für den dazugehörigen Rollladen etwa folgendes einbauen (last_setting heißt bei mir mittlerweile prev_pct):

my $prev_pct = ReadingsVal("Rollladen_Kueche","pct","100");
fhem("setreading Rollladen_Kueche prev_pct $prev_pct");

3. Geht das Fenster auf "closed" aufrufen:

my $prev_pct = ReadingsVal("Rollladen_Kueche","prev_pct","100");
fhem("set Rollladen_Kueche pct $prev_pct");


Zitat
Generell fährt der Rollladen beim öffnen des Fensters hoch und beim schließen wieder herunter, aber das macht er im Moment halt immer, egal ob er offen war oder nicht.
Das ganze kannst/musst du dir nun anpassen wie du es brauchst:
Was machst du bei Fenster gekippt? Rollladen auf alten level am Tag, aber immer zu bei Nacht? Es könnte sein, du machst im Sommer die Tür auf, Rollladen stand auf 50%. Nun ist die Tür offen bis 23:30 Uhr, du gehst von der Terrasse rein, dann soll der Rollladen ja nicht auf 50% zurück sondern zu. Sowas kannst du dann mit einem dummy machen, der den Sollzustand hat.

Ich hoffe das hilft dir erstmal weiter. Bei Fragen - fragen.

Grüße aus dem 38°C Rhein-Main-Gebiet ...
Titel: Antw:Rolladen sollen sich beim öffen des Fenster die letzte Position merken
Beitrag von: M-1978 am 05 Juli 2015, 23:14:13
Zitat von: Deudi am 05 Juli 2015, 13:37:13
Hallo Martin,

ich kann dir mal grob beschreiben, wie das bei mir läuft. Ich gehe mal davon aus, dass du dich etwas mit Perl beschäftigt hast, daher nur pseudo-code:
1. Notify anlegen, dass bei jeder Änderung eines Fensters eine Funktion in der 99_myUtils aufruft.
2. Wenn ein Fenster auf "open" gegangen ist, für den dazugehörigen Rollladen etwa folgendes einbauen (last_setting heißt bei mir mittlerweile prev_pct):

my $prev_pct = ReadingsVal("Rollladen_Kueche","pct","100");
fhem("setreading Rollladen_Kueche prev_pct $prev_pct");

3. Geht das Fenster auf "closed" aufrufen:

my $prev_pct = ReadingsVal("Rollladen_Kueche","prev_pct","100");
fhem("set Rollladen_Kueche pct $prev_pct");

Das ganze kannst/musst du dir nun anpassen wie du es brauchst:
Was machst du bei Fenster gekippt? Rollladen auf alten level am Tag, aber immer zu bei Nacht? Es könnte sein, du machst im Sommer die Tür auf, Rollladen stand auf 50%. Nun ist die Tür offen bis 23:30 Uhr, du gehst von der Terrasse rein, dann soll der Rollladen ja nicht auf 50% zurück sondern zu. Sowas kannst du dann mit einem dummy machen, der den Sollzustand hat.

Ich hoffe das hilft dir erstmal weiter. Bei Fragen - fragen.

Grüße aus dem 38°C Rhein-Main-Gebiet ...

Hallo,

bin generell gerade dabei mich mit Perl zu beschäftigten, allerdings noch komplett am Anfang, was die ganze Sache nicht wirklich einfacher macht. Der Status gekippt gibt es bei mir nicht, habe lediglich die optischen Homematic Sensoren (optisch) HM-Sec-SCo im Einsatz (auf/zu). Das Thema das wenn die Fenster von der Zeit her schon geschlossen sein sollten, hatte ich nicht auf dem Schirm. Generell stehe ich im Moment komplett auf dem Schlauch und komme nicht wirklich auf ein Ergebnis, ich glaube es ist gerade einfach viel zu heiß  :o