Problem mit der Rollladensteuerung

Begonnen von Dennis D., 03 Januar 2013, 21:21:02

Vorheriges Thema - Nächstes Thema

Dennis D.


define EZ_Jalousie_runter_pruef dummy
define EZ_Jalousie_runter1 at *{sunset("HORIZON=-4",0,'11:00','22:00')} set EZ_Jalousie_runter_pruef on
define EZ_Jalousie_runter2 notify EZ_Fensterdrehgriff:off.* set EZ_Jalousie_runter_pruef on

define EZ_Jalousie_runter_pruef2 notify EZ_Jalousie_runter_pruef:on.* {\
   my $now=sprintf("%%02d:%%02d",$hour,$min);;\
   my $Griff =ReadingsVal("EZ_Fensterdrehgriff","State","on");;\
      if($now >= "11:00" && $now <="22:00" && $Griff eq "off") {\
      if (isday()) {\
         fhem ("set EZ_Jalousie off");;\
      }\
   }\
   if($now > "22:00" && $Griff eq "off") {\
      fhem ("set EZ_Jalousie off");;\
   }\
fhem ("set EZ_Jalousie_runter_pruef off");;\
}


bei der EZ_Jalousie hab ich das Mapping von "off" auf "runter" entfernt, weil ich dachte, dass es vielleicht da dran liegen könnte. wars aber nicht.
FHEM 5.5 auf RPi Rev. B 512 mit HMLAN (HM-CFG-LAN)

CUL_HM: HM-LC-Bl1PBU-FM,HM-LC-SW1-BA-PCB,HM-LC-SW4-SM,HM-LC-Sw1PBU-FM,HM-OU-LED16,HM-PB-2-WM55,HM-RC-KEY3-B,HM-SEC-KEY,HM-SEC-RHS,HM-SEC-SC,HM-SEC-SD,HM-WDS10-TH-O,HM-WDS40-TH-I

OWDevice: DS18B20,DS2438

Dennis D.

um noch mal auf die variable $Griff zurückzukommen.

Kann es nicht sein, dass er bei dem "Dummy" device keine ReadingsVal ausführen kann und entsprechend keinen Wert bekommt?
In der Abfrage wird ja eine UND Bedingung definiert. Und die zweite Bedingung wird nicht erfüllt, wegen dem fehlenden Wert!?

if($now >= "11:00" && $now <="22:00" && $Griff eq "off")

Oder?
FHEM 5.5 auf RPi Rev. B 512 mit HMLAN (HM-CFG-LAN)

CUL_HM: HM-LC-Bl1PBU-FM,HM-LC-SW1-BA-PCB,HM-LC-SW4-SM,HM-LC-Sw1PBU-FM,HM-OU-LED16,HM-PB-2-WM55,HM-RC-KEY3-B,HM-SEC-KEY,HM-SEC-RHS,HM-SEC-SC,HM-SEC-SD,HM-WDS10-TH-O,HM-WDS40-TH-I

OWDevice: DS18B20,DS2438

Dennis D.

BINGO!!!

Nehme ich die Griff-Abfrage raus funktioniert es!!!!


define EZ_Jalousie_runter_pruef2 notify EZ_Jalousie_runter_pruef:on.* {\
   my $now=sprintf("%%02d:%%02d",$hour,$min);;\
      if($now >= "11:00" && $now <="22:00") {\
      if (isday()) {\
         fhem ("set EZ_Jalousie off");;\
      }\
   }\
   if($now > "22:00") {\
      fhem ("set EZ_Jalousie off");;\
   }\
fhem ("set EZ_Jalousie_runter_pruef off");;\
}


VIELEN VIELEN DANK für diesen tollen Support!
FHEM 5.5 auf RPi Rev. B 512 mit HMLAN (HM-CFG-LAN)

CUL_HM: HM-LC-Bl1PBU-FM,HM-LC-SW1-BA-PCB,HM-LC-SW4-SM,HM-LC-Sw1PBU-FM,HM-OU-LED16,HM-PB-2-WM55,HM-RC-KEY3-B,HM-SEC-KEY,HM-SEC-RHS,HM-SEC-SC,HM-SEC-SD,HM-WDS10-TH-O,HM-WDS40-TH-I

OWDevice: DS18B20,DS2438

Puschel74

Hallo,

aber der Griff - selbst als Dummy sollte doch on oder off annehmen können.
Und das kann man abfragen.
evtl. hillft ein

if($now >= "11:00" && $now <="22:00" && (Value("EZ_Fensterdrehgriff") eq "off")) {\
eher zum Ziel.

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.

Dennis D.

ja, so hab ich das jetzt auch gelöst. zumindest bis mein fenstergriffsensor endlich da ist.

soweit funktioniert es ja nun so wie ich es mir vorstelle. wie wäre es denn, wenn er die Jalousien beim schließen des fenstergriffs erst nach ablauf von z. b. drei minuten runterfahren soll? also quasi zeitverzögert?

ja ich weiß! ich bin anspruchsvoll :)
FHEM 5.5 auf RPi Rev. B 512 mit HMLAN (HM-CFG-LAN)

CUL_HM: HM-LC-Bl1PBU-FM,HM-LC-SW1-BA-PCB,HM-LC-SW4-SM,HM-LC-Sw1PBU-FM,HM-OU-LED16,HM-PB-2-WM55,HM-RC-KEY3-B,HM-SEC-KEY,HM-SEC-RHS,HM-SEC-SC,HM-SEC-SD,HM-WDS10-TH-O,HM-WDS40-TH-I

OWDevice: DS18B20,DS2438

Puschel74

fhem ("fhem define Rollo_ab_später at +00:03:00 set EZ_Jalousie off");;\
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.

Puschel74

Und schon wieder falsch :-(

Zitat von: Puschel74 schrieb am Mo, 07 Januar 2013 14:10fhem ("fhem define Rollo_ab_später at +00:03:00 set EZ_Jalousie off");;\

Soll natürlich

fhem ("define Rollo_ab_später at +00:03:00 set EZ_Jalousie off");;\

Das brauchst du ja nur noch an den passenden Stellen einfügen und schon fährt die Rollo
3 Minuten nach schliessen des Fenstergriffs runter - hoffentlich ;-)

Und das ganze geht sicher auch noch kürzer und eleganter.

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.

Dennis D.

SUPER! Vielen Dank. Werde ich ausprobieren :)
FHEM 5.5 auf RPi Rev. B 512 mit HMLAN (HM-CFG-LAN)

CUL_HM: HM-LC-Bl1PBU-FM,HM-LC-SW1-BA-PCB,HM-LC-SW4-SM,HM-LC-Sw1PBU-FM,HM-OU-LED16,HM-PB-2-WM55,HM-RC-KEY3-B,HM-SEC-KEY,HM-SEC-RHS,HM-SEC-SC,HM-SEC-SD,HM-WDS10-TH-O,HM-WDS40-TH-I

OWDevice: DS18B20,DS2438

Dennis D.

Die Rollladen laufen nun wie sie sollen! Vielen Dank allen, für eure Hilfe!
FHEM 5.5 auf RPi Rev. B 512 mit HMLAN (HM-CFG-LAN)

CUL_HM: HM-LC-Bl1PBU-FM,HM-LC-SW1-BA-PCB,HM-LC-SW4-SM,HM-LC-Sw1PBU-FM,HM-OU-LED16,HM-PB-2-WM55,HM-RC-KEY3-B,HM-SEC-KEY,HM-SEC-RHS,HM-SEC-SC,HM-SEC-SD,HM-WDS10-TH-O,HM-WDS40-TH-I

OWDevice: DS18B20,DS2438

Frank Steinhauer

Hallo Dennis,
meine Problemstellung ist die gleiche wie deine. Im Verlauf des Threads habe ich aber den Faden verloren welcher Code nun wirklich benötigt wird.
Könntest du den entgültigen Code der türabhängigen Rolladensteuerung  nochmal posten?
Wäre super nett!

Danke
Frank

Dennis D.

Hi Frank,

gerne. There it is:


define EZ_Jalousie_runter_pruef dummy
  attr EZ_Jalousie_runter_pruef alias Jalousie Trigger Prüfung
  attr EZ_Jalousie_runter_pruef eventMap on off

define EZ_Jalousie_runter1 at *{sunset("HORIZON=-5",0,'17:00','22:00')} set EZ_Jalousie_runter_pruef on
  attr EZ_Jalousie_runter1 alias Jalousie Esszimmer schließen

define EZ_Jalousie_runter2 notify EZ_Fensterdrehgriff:zu.* set EZ_Jalousie_runter_pruef on
  attr EZ_Jalousie_runter2 alias Jalousie Fensterdrehgriff Prüfung

define EZ_Jalousie_runter_pruef2 notify EZ_Jalousie_runter_pruef:on.* {\
   my $now=sprintf("%%02d:%%02d",$hour,$min);;\
       if($now >= "17:00" && $now <="22:00" && (Value("Hell") eq "Nein") && (Value("EZ_Fensterdrehgriff") eq "zu")) {\
         fhem ("define EZ_Jalousie_verzoegert at +00:01:00 set EZ_Jalousie runter");;}\
    if($now > "22:00" && (Value("EZ_Fensterdrehgriff") eq "zu")) {\
       fhem ("define EZ_Jalousie_verzoegert at +00:01:00 set EZ_Jalousie runter");;}\
fhem ("set EZ_Jalousie_runter_pruef off");;}
  attr EZ_Jalousie_runter_pruef2 alias Jalousie schließen nach Prüfung


Gruß,
Dennis

FHEM 5.5 auf RPi Rev. B 512 mit HMLAN (HM-CFG-LAN)

CUL_HM: HM-LC-Bl1PBU-FM,HM-LC-SW1-BA-PCB,HM-LC-SW4-SM,HM-LC-Sw1PBU-FM,HM-OU-LED16,HM-PB-2-WM55,HM-RC-KEY3-B,HM-SEC-KEY,HM-SEC-RHS,HM-SEC-SC,HM-SEC-SD,HM-WDS10-TH-O,HM-WDS40-TH-I

OWDevice: DS18B20,DS2438

Georg312

Hi,
Noch eine Idee zum Thema: hast du einen zweiten Rolladen, der auf jeden fall nach Sonnenuntergang runterfährt? Dann könntest du beim schließen der Tür den Rolanden dann runterfahren, wenn der andere schon zu ist. Damit erübrigt sich die ganzen Zeitrechnungen...
Gruß Georg.

Dennis D.

Hi Georg,

keine verkehrte Idee. Ist natürlich eine Möglichkeit, welche etwas einfacher umzusetzen gewesen wäre. Ich bevorzuge dennoch eine von den anderen Jalousien unabhängige Prüfung. So ist zumindest eine Fehlerquelle ausgeschlossen, falls der Aktor des für die Prüfung verwendeten Rollladen mal nen Missing Ack hat oder ähnliches.

Gruß,
Dennis
FHEM 5.5 auf RPi Rev. B 512 mit HMLAN (HM-CFG-LAN)

CUL_HM: HM-LC-Bl1PBU-FM,HM-LC-SW1-BA-PCB,HM-LC-SW4-SM,HM-LC-Sw1PBU-FM,HM-OU-LED16,HM-PB-2-WM55,HM-RC-KEY3-B,HM-SEC-KEY,HM-SEC-RHS,HM-SEC-SC,HM-SEC-SD,HM-WDS10-TH-O,HM-WDS40-TH-I

OWDevice: DS18B20,DS2438

ole30419

Hallo an alle,
 das mir den Rollladen steuern über den Fensterdrehgriff finde ich eine sehr schöne Idee. Habe das mal für meine Rollladen versucht umzuschreiben aber es will einfach nicht klappen, es wird im ,,at" eine Zeit angezeigt aber der Befehl zum Rolladen schliessen kommt nicht. Was habe ich Vergessen?

Hier mal der Umgeschriebene Code für mein Rollladen:
    - mein Rollladen wird mit ,,set KU_Roll zu" runtergefahren
    - und der ,,KU_Fenster_Sensor" sendet tilted/open/closed

define KU_Roll_runter_pruef dummy
  attr KU_Roll_runter_pruef alias Rollladen Trigger Pruefung
  attr KU_Roll_runter_pruef eventMap open closed

define KU_Roll_runter1 at *{sunset("HORIZON=-6",0,"17:00","22:00")} set KU_Roll_runter_pruef open
  attr KU_Roll_runter1 alias Rollladen Kueche schliessen

define KU_Roll_runter2 notify KU_Fenster_Sensor:closed.* set KU_Roll_runter_pruef open
  attr KU_Roll_runter2 alias Rolladen Fensterdrehgriff Pruefung

define KU_Roll_runter_pruef2 notify KU_Roll_runter_pruef:open.* {\
   my $now=sprintf("%%02d:%%02d",$hour,$min);;\
       if($now >= "17:00" && $now <="22:00" && (Value("Hell") eq "Nein") && (Value("KU_Fenster_Sensor") eq "closed")) {\
         fhem ("define KU_Roll_verzoegert at +00:01:00 set KU_Roll zu");;}\
    if($now > "22:00" && (Value("KU_Fenster_Sensor") eq "closed")) {\
       fhem ("define KU_Roll_verzoegert at +00:01:00 set KU_Roll zu");;}\
fhem ("set KU_Roll_runter_pruef closed");;}
  attr KU_Roll_runter_pruef2 alias Rollladen schliessen nach Pruefung
MfG Ole

MisterEltako

if($now >= "17:00" && $now <="22:00"...

müsste das nicht:

if($now gt "17:00" && $now lt "22:00"...

lauten?

MfG, MisterEltako
HMLAN-Konfigurations-Adapter, HM-Funkjalousieaktor/HM-Dimmaktor/HM-Schaltaktor f. Markenschalter, Jalousie-/Schaltaktor von Eltako, FT4 v. Eltako, TCM310