FHEM Forum

FHEM => Automatisierung => Thema gestartet von: Xguide am 23 Mai 2014, 12:35:03

Titel: Homematic HM-LC-BL1-FM mit HM-SEC-RHS kombiniert
Beitrag von: Xguide am 23 Mai 2014, 12:35:03
Hallo Forum,

mir ist ein kleines Problem in meiner Rolladen-Logik aufgefallen und leider fehlt mir der Ansatz das vernünftig zu lösen, vielleicht kann mir jemand einen Tipp geben....

Ich habe meine Rollladen mit dem Jalousie-Aktor HM-LC-BL1-FM ausgestattet und ferner habe ich an jedem Fenster einen HM-SEC-RHS zur Erkennung der Fensterstati (open/tilted/closed). Soweit zu den Komponenten! Alle sind in FHEM angelernt und funktionstüchtig.
Nun habe ich die Logik so aufgebaut, dass es verschiedenste Möglichkeiten gibt die Rollladen zu bewegen:
Da ich im ganzen EG nur bodentiefe Fenster habe und manche als Ausgang zum Garten genutzt werden, habe ich eine quasi Sicherheitsschaltung realisiert, die den Status des Fenstergriffs abfragt und je nach Rückmeldung das jeweilige Rollo herunterfahren, bzw. die Aktion stoppen, soll. Dabei hatte ich verschiedenste Sachen realisiert, der letzte Weg schien mir der richtige zu sein, allerdings kommt es dabei zu einem blöden Nebeneffekt.

Ich habe ein Notify für die zu überwachenden Rollladenaktoren angelegt, was auf den RegEx "down.*" reagiert

define Notify_EG.KitchenDoor_Down notify EG.KitchenDoor_Blind.*down.* {\

in dem Notify frage ich per ReadingsVal den Status des Türgriffkontakts ab.
 
  if(ReadingsVal("EG.Kitchen_DoorState","state","") eq "open"){\
    {fhem "set EG.KitchenDoor_Blind up";;}\
  }\

Die Funktion ist gegeben, allerdings sendet der Aktor danach kontinuierlich die ursprünglich angetriggerte Aktion weiter in dem Fall "Aktor down", was die Performance von FHEM beeinträchtigt. Es hört erst auf, wenn dann irgendwann das Fenster geschlossen wird.

Kann mich jemand verstehen und ggf. sogar einen Tipp für mich?

Grüße aus Bochum,

Marcel
Titel: Antw:Homematic HM-LC-BL1-FM mit HM-SEC-RHS kombiniert
Beitrag von: kaihs am 23 Mai 2014, 21:35:10
Wenn ich es richtig verstanden habe, willst du verhindern, dass der Rolladen runterfährt wenn die Tür offen ist, oder?

Ich mache das mit einem notify das auf die Türstatusänderung reagiert:


define wz_Tuer notify wz_Tuer_.* { myUtils_TuerStatusAenderung($NAME, $EVENT) }


In meiner 99_myUtils.pm ist dann folgendes

sub
myUtils_TuerStatusAenderung($$)
{
my $dev = shift;
my $event = shift;

Log 1, "Türstatus $dev: $event";

$dev =~ s/_Tuer/_Rollo_Tuer/;

if ($event eq 'open') {
fhem "set $dev 0"; # Rolladen hochfahren
fhem "set $dev inhibit on"; # keine Änderung mehr zulassen bis Tür wieder geschlossen wird
} elsif ($event eq 'closed' or $event eq 'tilted') {
fhem "set $dev inhibit off"; # Änderungen wieder zulassen
}
}


Dadurch wird der Rolladen hochgefahren (set $dev 0) und anschließend das Verfahren des Rolladens komplett unterdrückt (set $dev inhibit on).
Dann lässt er sich nicht mal mehr am Schalter direkt einschalten, scheint mir das sicherste.

Wird die Tür wieder verschlossen, wird die Verriegelung des Rolladens wieder aufgehoben.

Vielleicht hilft dir das.

Kai
Titel: Antw:Homematic HM-LC-BL1-FM mit HM-SEC-RHS kombiniert
Beitrag von: marvin78 am 23 Mai 2014, 21:49:40
Aber ist es nicht eigentlich in gewissen Situationen falsch, den Rolladen automatisch hoch zu fahren, wenn man das Fenster/die Tür öffnet? Wir lüften im Sommer zum Beispiel nachts häufig bei fast geschlossenen Rolladen mit komplett geöffnetem Fenster.
Titel: Antw:Homematic HM-LC-BL1-FM mit HM-SEC-RHS kombiniert
Beitrag von: kaihs am 24 Mai 2014, 15:26:18
Das hängt sicher vom Anwendungsfall ab.
Bei mir sind es Türen zur Dachterrasse, wenn ich die aufmache will ich nach draußen und nicht ausgesperrt werden.

Kai
Titel: Antw:Homematic HM-LC-BL1-FM mit HM-SEC-RHS kombiniert
Beitrag von: Xguide am 26 Juni 2014, 12:10:21
Hallo Kai,

vielen Dank für deinen Ansatz. Ich weiss gar nicht warum ich mich immer auf die Aktion des Aktors reagiert habe  :)