Tuergriffsensor/Rollosteuerung automatisieren

Begonnen von loskrachos, 08 Oktober 2014, 23:13:54

Vorheriges Thema - Nächstes Thema

loskrachos

Hallo zusammen,

die Basics habe ich mittlerweile zusammen. Nun möchte ich mich an ein wenig tatsächliche Automatisierung herantasten.
Die Idee ist, wenn der Türgriff geöffnet wird, soll der Rollo hochfahren, wenn er wieder geschlossen wird, soll der letzte Status des Rollos "wiederhergestellt" werden.

Da ich mich gerade erst herantaste, habe ich das ganze im ersten Schritt mal vereinfacht.
define n_WZ.Tuergriff_Terasse notify WZ.Tuergriff_Terasse {\
if ($EVENT eq "open") {\
  {fhem("set WZ.Rollo_Tuer up")}\
}


Ich möchte wie (hoffentlich) ersichtlich, erst mal den Rollo hochfahren, wenn der Türgriff geöffnet wird. Das könnte man auch einfacher lösen, aber ich möchte das if ja später um die o.g. Funktionen erweitern.

Leider funktioniert das nicht. Insbes. irritiert mich in den Readings des Türgriffs der Eintrag "2014-10-08 23:02:45   trigDst_26EDB0  noConfig".

Habt ihr einen Tipp, wo mein (Anfänger-)Fehler steckt?

Danke schon mal!
loskrachos

hexenmeister

bei mir ist das folgendermaßen definiert:


define n_fk_auf_rollo_r notify wz_fenster_r:.*open.* {...


Ich denke, ".*" kann man auch einsparen, kann jetzt aber nicht nachsehen, wie genau die Events kommen (das war damals einer meiner ersten Versuche mit fhem, schon länger her ;) )


Dennis1201

Ich habe das bei mir ähnlich umgesetzt:
define TuerAufRolloHoch notify Balkontuer:offen { if ( "Rollo_wz_m" ne "auf") {fhem("set Rollo_wz_m auf")} }
define TuerZuRolloRunter notify Balkontuer:geschlossen {if (!isday()) {fhem("set Rollo_wz_m zu") } }


Damit fährt das Rollo der Balkontür hoch wenn diese geöffnet wird (sofern es noch nicht schon oben ist)
Schließt man die Tür wieder fährt das Rollo wieder runter, aber nur wenn es draußen noch oder schon dunkel ist.

Das allgemeine Öffnen und Schließen der Rollos läuft über sunrise und sunset, am Wochenende das Öffnen mit at:
define Rollorunter at *{sunset("CIVIL",0,"19:00","23:00")} {fhem ("set AlleRollos zu") if ("Balkontuer" eq "geschlossen")}
define Rollohoch at *{sunrise("CIVIL",0,"05:00","07:00")} {fhem("set AlleRollos auf") if(!$we) }
define RollohochWE at *09:00 {fhem ("set AlleRollos auf") if($we)}


Gruß Dennis
Cubietruck / fhem 5.8 / FHZ1300 / HM-CFG-USB / FHT-80b / FS20 und HM-Komponenten

Puschel74

Hallo,

ZitatHabt ihr einen Tipp, wo mein (Anfänger-)Fehler steckt?
Die bearbeitest vermutlich die fhem.cfg direkt.
Lass das und du hast weniger Probleme las du denkst.

Einsteiger.pdf (sehr lesenswert) Wiki und im Forum hast du aber sicher bereits abgesucht - und nichts gefunden  :o
Kann ich ja fast nicht glauben.

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

Ralli

Zitat von: loskrachos am 08 Oktober 2014, 23:13:54
define n_WZ.Tuergriff_Terasse notify WZ.Tuergriff_Terasse {\
if ($EVENT eq "open") {\
  {fhem("set WZ.Rollo_Tuer up")}\
}

Habt ihr einen Tipp, wo mein (Anfänger-)Fehler steckt?
Da ist schon mal eine geschweifte Klammer zu viel bzw. zu wenig.

Ansonsten habe ich es so gelöst:


define Rollo_Schlitz_Fenster_gekippt DOIF ([FL_Fenster] eq "tilted" and [FL_Rollo] eq "off") (set FL_Rollo 25)
define Rollo_runter_Fenster_zu DOIF ([FL_Fenster] eq "closed") (IF ([FL_Rollo] eq "25") (set FL_Rollo off))


Damit erreiche ich Folgendes:
Wenn entweder Rollo runter oder Fenster kippen eintritt und die jeweils andere Bedingung auch erfüllt ist, wird das Rollo etwas angezogen. Wenn das Fenster geschlossen wird (und nur dann) wird das Rollo zugemacht, wenn es nur angezogen sein sollte.
Gruß,
Ralli

Proxmox 8.4 Cluster mit HP ED800G2i7, Intel NUC11TNHi7+NUC7i5BNH, virtualisiertes fhem 6.4 dev, virtualisierte RaspberryMatic (3.83.6.20250705) mit HB-RF-ETH 1.3.0 / RPI-RF-MOD, HM-LAN-GW (1.4.1) und HMW-GW, FRITZBOX 7490 (07.59), FBDECT, Siri und Alexa

loskrachos

#5
Danke für die vielen Antworten.
Es war zum einen erst mal wirklich eine Klammer zu wenig...

Ich hab es im Moment mal soweit gelöst:
define n_WZ.Tuergriff_Terasse notify WZ.Tuergriff_Terasse {\
if ($EVENT eq "open") {\
  {fhem("set WZ.Rollo_Tuer_Dummy ".Value("WZ.Rollo_Tuer")) }\
  {fhem("set WZ.Rollo_Tuer up")}\
}\
}


Damit fährt der Rollo zumindest schon mal hoch und der Dummy speichert den letzten Wert. Den Rest werde ich dann im nächsten Schritt realisieren. Die Zeit ist immer so knapp....

Ach ja @Puschel74 in ein eigenes File will ich es auch noch auslagern, das ist viel einfacher, das stimmt. Und glaube mir, ich habe schon seeeehr viel gelesen, bevor ich hier gepostet habe. Das Einsteiger PDF liegt hier sogar ausgedruckt und schon etwas "abgegriffen" herum  ;)