Rolladen nicht runter wenn Türkontakt auf....(gelöst)

Begonnen von Belei, 27 September 2015, 20:55:42

Vorheriges Thema - Nächstes Thema

dieda

Zitat von: Amenophis86 am 30 September 2015, 22:16:46

3. Dein zweites DOIF macht absolut NULL Sinn, aber ich versuche dir mal zu helfen:
Falsch
Zitat von: Amenophis86 am 30 September 2015, 22:16:46
a. Das ?
Das ? bewirkt, dass der DOIF Befehl NICHT ausgelöst wird, wenn diese Bedingung durch FHEM wahr wird. In deinem zweite Fall also, wird das DOIF nicht gestartet, wenn die Uhrzeit des Sunset erreicht ist.



Warm, aber noch nicht heiß.
Komponenten:
Sensoren und Aktoren: FS20, Max!, Zigbee, Zwave
IODev:  Cul1101, MaxLan, ZWAVE, Deconz
Router: KD-Fritte (6360)
Sonstiges: Raspberries,  1x LMS,1 FHEM, 1 x zum Testen,  Logitech-Clients,  Onkyo, SamsungTV, Squeezebox, TabletUIs

Amenophis86

Zitat von: dieda am 30 September 2015, 23:50:28
Zitat von: Amenophis86
3. Dein zweites DOIF macht absolut NULL Sinn, aber ich versuche dir mal zu helfen:
Falsch
Naja, wenn er das erste DOIF schon definiert hat, wieso bitte soll er das zweite dann auch noch haben? Die einzigen Unterschiede sind, dass es bei der Uhrzeit nicht triggert, was das erste aber schon macht. Zweitens das wait, welches er aber auch gerne dem ersten geben kann, wenn er eine Verzögerung brauch. Aus welchem Grund auch immer. Er muss quasi nur das "-07:00" noch einfügen beim ersten. Und daher macht das zweite DOIF keinen Sinn. Es passt einfach alles ins erste rein.

Zitat von: dieda am 30 September 2015, 23:50:28
Zitat von: Amenophis86
a. Das ?
Das ? bewirkt, dass der DOIF Befehl NICHT ausgelöst wird, wenn diese Bedingung durch FHEM wahr wird. In deinem zweite Fall also, wird das DOIF nicht gestartet, wenn die Uhrzeit des Sunset erreicht ist.
Warm, aber noch nicht heiß.

Lasse mich ja gerne belehren, aber ich wüsste nicht was daran "warm, aber noch nicht heiß" ist. Siehe Commandref:
ZitatZeitintervalle, Readings und Stati ohne Trigger

Angaben in eckigen Klammern, die mit einem Fragezeichen beginnen, führen zu keiner Triggerung des Moduls, sie dienen lediglich der Abfrage.

Es ist "fachlich" nicht ganz richtig ausgedrückt, aber scheinbar kann er mit den fachlichen Begriffen nichts anfangen, dass es hier etwas anders umschrieben wurde. Sonst hätte ich auch die Commandref zitieren können, welche er aber offensichtlich nicht versteht und es daher wenig Sinn macht ;)
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

Belei

Puh ;) also ja ich verstehe schon mehr ! Aber:

Momentan funktioniert es so wie es soll aber offensichtlich ist es Pfusch! (Macht kein Sinn)

Ich will ja das das Rollo sofort runtergeht wenn Sunset erreicht und die Tür zu ist! Das macht mein erstes Define.

Und ich will auch eine Verzögerung von 60 sek haben wenn die Tür geschlossen wird. Das macht mein 2tes Define.

Jetzt kann man das bestimmt in eins packen, damit es schönen wird.

Und das -07:00 bis nächsten Tag um 7 heist steht auch im doif unter readings.
timer_2_c1
02.10.2015 07:00:00
Hat sich aktualisiert vom 1.10 auf den 2.10

Also so falsch kann das alles nicht sein?!

Danke für eure Geduld
Fhem auf RaspberryPi 2 RFXTRX433
Homematic Usb Stick Diverse 433Mhz Dosen
Yodaa Rolladen Fritzpowerline 3xHM-LC-Sw1PBU-FM
1xHM-SEC-SC-2

Amenophis86

Naja Pfusch würde ich es nicht nennen. Es hat für mich wenig Sinn gemacht, weil ich nicht wusste, dass die 60 Sek wichtig sind. Wie du es gemacht hast, war fast richtig. Wenn du beides in eins packen willst, was man nicht muss, aber schöner ist, dann kannst du es so machen:



define wz3_rollo_zu DOIF ([{sunset("REAL",1450,"17:00","23:00")}] and [?TuerWintergarten] eq "closed")
(set RL_WZ_3 close)
DOELSEIF ([?{sunset("REAL",1450,"17:00","23:00")}-07:00] and [TuerWintergarten] eq "closed")
(set RL_WZ_3 close)
attr wz3_rollo_zu wait 0:60


Dann hast du bei der ersten Variante nur eine Auslösung, nach der Uhrzeit, aber der Status deiner Tür wird geprüft und bei der zweiten Variante nur eine Auslösung durch die Tür, aber in dem Zeitraum der Uhrzeit.
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

dieda

Da fehlt noch was
Zitat[TuerWintergarten]

[TuerWintergarten:state]
Komponenten:
Sensoren und Aktoren: FS20, Max!, Zigbee, Zwave
IODev:  Cul1101, MaxLan, ZWAVE, Deconz
Router: KD-Fritte (6360)
Sonstiges: Raspberries,  1x LMS,1 FHEM, 1 x zum Testen,  Logitech-Clients,  Onkyo, SamsungTV, Squeezebox, TabletUIs

Amenophis86

wieso? State wird automatisch genommen, wenn kein reading angegeben wird.
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

dieda

OK, die Info hatte ich leider nicht. Bin ja schon einige Zeit mit DOIF unterwegs und wundere mich jedesmal wie sich DOIF weiterentwickelt.
Komponenten:
Sensoren und Aktoren: FS20, Max!, Zigbee, Zwave
IODev:  Cul1101, MaxLan, ZWAVE, Deconz
Router: KD-Fritte (6360)
Sonstiges: Raspberries,  1x LMS,1 FHEM, 1 x zum Testen,  Logitech-Clients,  Onkyo, SamsungTV, Squeezebox, TabletUIs

Belei

#22
Jetzt hab ich auch das "?" Verstanden! :)

Werd das nachher nochmal ersetzen und dann funktioniert es und sieht gut aus.


Thx
Fhem auf RaspberryPi 2 RFXTRX433
Homematic Usb Stick Diverse 433Mhz Dosen
Yodaa Rolladen Fritzpowerline 3xHM-LC-Sw1PBU-FM
1xHM-SEC-SC-2

Damian

Zitat von: dieda am 01 Oktober 2015, 10:16:08
OK, die Info hatte ich leider nicht. Bin ja schon einige Zeit mit DOIF unterwegs und wundere mich jedesmal wie sich DOIF weiterentwickelt.

Dabei ist die Statusabfrage vom Anfang an drin, wie auch im älteren FHEM-Befehl IF ;)

Gruß

Damian
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Belei

#24
Hallo ich hab leider oft das Problem das das Rollo zu Sunset nicht runterfährt obwohl die Tür zu ist. Heute zB wieder...
Erst nachdem ich um 18:55 die Tür auf und zu gemacht habe ging sie nach 300sek runter . Der Tür Kontakt steht auf Alive.




Internals:
   DEF        ([{sunset("REAL",1450,"16:00","23:00")}] and [?TuerWintergarten] eq "closed")(set RL_WZ_3 close)DOELSEIF([?{sunset("REAL",1450,"16:00","23:00")}-07:00] and [TuerWintergarten] eq "closed")(set RL_WZ_3 close)
   NAME       wz3_rollo_zu
   NR         375
   NTFY_ORDER 50-wz3_rollo_zu
   STATE      initialize
   TYPE       DOIF
   Readings:
     2015-11-20 18:50:49   Device          TuerWintergarten
     2015-11-20 18:50:49   e_TuerWintergarten_STATE closed
     2015-11-20 18:59:50   state           initialize
     2015-11-20 16:39:06   timer_1_c1      21.11.2015 16:37:48
     2015-11-20 16:39:06   timer_2_c2      21.11.2015 16:37:48
     2015-11-20 07:00:00   timer_3_c2      21.11.2015 07:00:00
     2015-11-20 18:55:49   wait_timer      no timer
   Condition:
     0          DOIF_time_once($hash,$hash->{timer}{0},$wday,"") and InternalDoIf('TuerWintergarten','STATE','') eq "closed"
     1          DOIF_time($hash,$hash->{realtime}{1},$hash->{realtime}{2},$wday,$hms,"") and InternalDoIf('TuerWintergarten','STATE','') eq "closed"
   Days:
   Devices:
     1           TuerWintergarten
     all         TuerWintergarten
   Do:
     0:
       0          set RL_WZ_3 close
     1:
       0          set RL_WZ_3 close
     2:
   Helper:
     globalinit 1
     last_timer 3
     sleepdevice TuerWintergarten
     sleepsubtimer -1
     sleeptimer -1
   Internals:
     1           TuerWintergarten:STATE
     all         TuerWintergarten:STATE
   Itimer:
   Readings:
   Realtime:
     0          16:37:48
     1          16:37:48
     2          07:00:00
   State:
   Time:
     0          {sunset("REAL",1450,"16:00","23:00")}
     1          {sunset("REAL",1450,"16:00","23:00")}
     2          07:00:00
   Timecond:
     0          0
     1          1
     2          1
   Timer:
     0          0
     1          0
     2          0
   Timerfunc:
   Timers:
     0           0
   Trigger:
Attributes:
   wait       0:300



Gesendet mit Tapatalk
Fhem auf RaspberryPi 2 RFXTRX433
Homematic Usb Stick Diverse 433Mhz Dosen
Yodaa Rolladen Fritzpowerline 3xHM-LC-Sw1PBU-FM
1xHM-SEC-SC-2

dieda

Nimm mal im ersten Teil der Bedingung das Fragezeichen raus. In der zweiten Bedingung muss es vor der Zeit bleiben.
Komponenten:
Sensoren und Aktoren: FS20, Max!, Zigbee, Zwave
IODev:  Cul1101, MaxLan, ZWAVE, Deconz
Router: KD-Fritte (6360)
Sonstiges: Raspberries,  1x LMS,1 FHEM, 1 x zum Testen,  Logitech-Clients,  Onkyo, SamsungTV, Squeezebox, TabletUIs

Belei

Danke. Hab ich probiert. Hatte die Tür offen und das Rollo ist nicht runtergefahren,  aber leider auch nicht nach schließen um 18:18 . (Auch nicht nach den 300sek )




Internals:
   DEF        ([{sunset("REAL",1450,"16:00","23:00")}] and [TuerWintergarten] eq "closed")(set RL_WZ_3 close)DOELSEIF([?{sunset("REAL",1449,"16:00","23:00")}-07:00] and [TuerWintergarten] eq "closed")(set RL_WZ_3 close)
   NAME       wz3_rollo_zu
   NR         375
   NTFY_ORDER 50-wz3_rollo_zu
   STATE      cmd_2
   TYPE       DOIF
   Readings:
     2015-11-22 18:18:28   Device          TuerWintergarten
     2015-11-21 18:46:56   cmd_event       TuerWintergarten
     2015-11-21 18:46:56   cmd_nr          2
     2015-11-22 18:18:28   e_TuerWintergarten_STATE closed
     2015-11-21 18:46:56   state           cmd_2
     2015-11-22 16:36:34   timer_1_c1      23.11.2015 16:35:21
     2015-11-22 16:36:33   timer_2_c2      23.11.2015 16:35:20
     2015-11-22 07:00:00   timer_3_c2      23.11.2015 07:00:00
     2015-11-21 18:46:56   wait_timer      no timer
   Condition:
     0          DOIF_time_once($hash,$hash->{timer}{0},$wday,"") and InternalDoIf('TuerWintergarten','STATE','') eq "closed"
     1          DOIF_time($hash,$hash->{realtime}{1},$hash->{realtime}{2},$wday,$hms,"") and InternalDoIf('TuerWintergarten','STATE','') eq "closed"
   Days:
   Devices:
     0           TuerWintergarten
     1           TuerWintergarten
     all         TuerWintergarten
   Do:
     0:
       0          set RL_WZ_3 close
     1:
       0          set RL_WZ_3 close
     2:
   Helper:
     globalinit 1
     last_timer 3
     sleepdevice TuerWintergarten
     sleepsubtimer -1
     sleeptimer -1
   Internals:
     0           TuerWintergarten:STATE
     1           TuerWintergarten:STATE
     all         TuerWintergarten:STATE
   Itimer:
   Readings:
   Realtime:
     0          16:35:21
     1          16:35:20
     2          07:00:00
   State:
   Time:
     0          {sunset("REAL",1450,"16:00","23:00")}
     1          {sunset("REAL",1449,"16:00","23:00")}
     2          07:00:00
   Timecond:
     0          0
     1          1
     2          1
   Timer:
     0          0
     1          0
     2          0
   Timerfunc:
   Timers:
     0           0
   Trigger:
Attributes:
   wait       0:300



Ich weiß leider nicht warum...


Gesendet mit Tapatalk
Fhem auf RaspberryPi 2 RFXTRX433
Homematic Usb Stick Diverse 433Mhz Dosen
Yodaa Rolladen Fritzpowerline 3xHM-LC-Sw1PBU-FM
1xHM-SEC-SC-2

Damian

#27
Zitat ([[{sunset("REAL",1450,"16:00","23:00")}]-07:00] and [TuerWintergarten] eq "closed") (set RL_WZ_3 close)

wait 300

Hier war ein Fehler drin. Sunset darf nicht zusätzlich in eckige Klammern, daher:

([{sunset("REAL",1450,"16:00","23:00")}-07:00] and [TuerWintergarten] eq "closed") (set RL_WZ_3 close)

Gruß

Damian
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Amenophis86

#28
Wenn ich dich richtig verstehe, dann willst du folgendes haben:

1. Zur Sunsetzeit (bzw. frühstens um 16:00 Uhr und spätestens um 23:00 Uhr) soll, wenn die Tür zu ist, der Rollladen runter fahren
2. Wenn in der Zeit zwischen Sunset (bzw. frühstens um 16:00 Uhr und spätestens um 23:00 Uhr) die Tür geschlossen wird, soll der Rolllo geschlossen werden

Dann solltest du es logisch anders definieren:

Wenn Sunset (16,23) und Tür Zu -> Rollo runterfahren Sonst Rollo hochfahren

define Rollo DOIF ([{sunset("REAL",1450,"16:00","23:00")}-07:00] and [TuerWintergarten] eq "closed" and [?RL_WZ_3] ne "closed") (set  RL_WZ_3 close) DOELSE (set RL_WZ_3 open)

Somit hast du erreicht, dass
1. Der Rollladen frühstens um 16 Uhr, spätestens um 23 Uhr, dazwischen zur Sunsetzeit runter fährt, wenn die Tür zu ist
2. Der Rollladen runter fährt, wenn in dieser Zeit die Tür geschlossen wurde (und der Rollladen zum Beispiel) händisch geöffnet wurde
3. Der Rollladen zu den entgegengesetzten Zeiten hoch fährt, als um 07:00 Uhr automatisch geöffnet wird bzw. automatisch geöffnet wird, wenn die Tür geöffnet wird
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

Belei

#29
Nabend,
da die Tür hinter dem Rolladen ist, muss eine Verzögerung beim schliessen durch den Türkontakt mit rein sonst sperre ich mich aus.

Und genau ich möchte
1. das es automatisch zum Sunset runterfährt wenn Tür zu ist
2. das es nicht runterfährt wenn Tür auf ist
3. und das es mit Verzögerung runterfährt wenn ich es manuell schliesse bis 23:00
4. könnte noch um 7:00 morgen der rolladen hoch gehen(läuft momentan noch seperat per at) Weil das hier noch nicht zuverlässig funktioniert.

@Amenophis86
ICh glaube da könnt ich probleme bekommen da der State in Fhem leider nicht zwingen richtig ist vom Rolladen. Da der Rolladen auch ggf mit der 433mhz unidirektionalen Fernbedienung gesteuert wird und das bekommt fhem ja leider nicht mit?

@Damian
Da bekomme ich folgende Fehlermeldung:
wz3_rollo_zu DOIF: unknown expression format: [{sunset("REAL",1450,"16:00","23:00")}]
Fhem auf RaspberryPi 2 RFXTRX433
Homematic Usb Stick Diverse 433Mhz Dosen
Yodaa Rolladen Fritzpowerline 3xHM-LC-Sw1PBU-FM
1xHM-SEC-SC-2