FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: heikoh81 am 30 November 2015, 17:16:14

Titel: DOIF: Kein Trigger durch Eintreten von sunrise/sunset
Beitrag von: heikoh81 am 30 November 2015, 17:16:14
Hallo zusammen,

ich verwende ein DOIF, um zu überwachen, ob mein Garagentor nach Einbruch der Dämmerung noch offen ist.


([{sunset}-({sunrise}-[04:00])] and [Garage_Torzustand] eq "offen" and [?PollinStatuslichtSchlafzimmer_GaragentorOffen_ChkBox] eq "on" and [?PollinStatuslichtSchlafzimmer_GaragentorOffen] eq "off")
(set PollinStatuslichtSchlafzimmer_GaragentorOffen on)
    DOELSEIF ([Garage_Torzustand] eq "geschlossen" and [?PollinStatuslichtSchlafzimmer_GaragentorOffen] eq "on")
    (set PollinStatuslichtSchlafzimmer_GaragentorOffen off)

Gestern und heute hatte ich nun wieder den Fall, dass das Garagentor tagsüber offen war, mit Einbruch der Dämmerung jedoch wurde das Benachrichtungslicht nicht eingeschaltet.
Es scheint, als ob sunset/sunrise nicht als trigger für das DOIF fungiert haben.
Öffne ich das Tor nämlich nach Einbruch der Dämmerung, geht das Licht anstandslos an - und nach Schließen des Tors auch wieder aus.

list di_Garagentor_Ueberwachen

Internals:
   DEF        ([{sunset}-({sunrise}-[04:00])] and [Garage_Torzustand] eq "offen" and [?PollinStatuslichtSchlafzimmer_GaragentorOffen_ChkBox] eq "on" and [?PollinStatuslichtSchlafzimmer_GaragentorOffen] eq "off")
(set PollinStatuslichtSchlafzimmer_GaragentorOffen on)
    DOELSEIF ([Garage_Torzustand] eq "geschlossen" and [?PollinStatuslichtSchlafzimmer_GaragentorOffen] eq "on")
    (set PollinStatuslichtSchlafzimmer_GaragentorOffen off)
   NAME       di_Garagentor_Ueberwachen
   NR         2524
   NTFY_ORDER 50-di_Garagentor_Ueberwachen
   STATE      cmd_1
   TYPE       DOIF
   Readings:
     2015-11-30 13:22:54   Device          Garage_Torzustand
     2015-11-27 21:46:03   cmd_event       Garage_Torzustand
     2015-11-27 21:46:03   cmd_nr          1
     2015-11-30 13:22:54   e_Garage_Torzustand_STATE offen
     2015-11-27 21:46:03   state           cmd_1
     2015-11-30 17:06:37   timer_1_c1      01.12.2015 17:06:08
     2015-11-30 03:16:30   timer_2_c1      01.12.2015 03:16:30
   Condition:
     0          DOIF_time($hash,$hash->{realtime}{0},$hash->{realtime}{1},$wday,$hms,"") and InternalDoIf('Garage_Torzustand','STATE','') eq "offen" and InternalDoIf('PollinStatuslichtSchlafzimmer_GaragentorOffen_ChkBox','STATE','') eq "on" and InternalDoIf('PollinStatuslichtSchlafzimmer_GaragentorOffen','STATE','') eq "off"
     1          InternalDoIf('Garage_Torzustand','STATE','') eq "geschlossen" and InternalDoIf('PollinStatuslichtSchlafzimmer_GaragentorOffen','STATE','') eq "on"
   Days:
   Devices:
     0           Garage_Torzustand
     1           Garage_Torzustand
     all         Garage_Torzustand
   Do:
     0:
       0          set PollinStatuslichtSchlafzimmer_GaragentorOffen on
     1:
       0          set PollinStatuslichtSchlafzimmer_GaragentorOffen off
     2:
   Helper:
     globalinit 1
     last_timer 2
     sleeptimer -1
   Internals:
     0           Garage_Torzustand:STATE
     1           Garage_Torzustand:STATE
     all         Garage_Torzustand:STATE
   Itimer:
   Readings:
   Realtime:
     0          17:06:08
     1          03:16:30
   State:
   Time:
     0          {sunset}
     1          ({sunrise}-[04:00])
   Timecond:
     0          0
     1          0
   Timer:
     0          0
     1          0
   Timerfunc:
   Timers:
     0           0  1
   Trigger:
Attributes:
   room       Garage


Wer kann mir einen Hinweis geben?

Vielen Dank,
viele Grüße,
Heiko
Titel: Antw:DOIF: Kein Trigger durch Eintreten von sunrise/sunset
Beitrag von: Ellert am 30 November 2015, 19:15:40
state ist seit 2015-11-27 21:46:03  auf  cmd_nr  1 .  Versuch mal das Attribut do always,
Titel: Antw:DOIF: Kein Trigger durch Eintreten von sunrise/sunset
Beitrag von: heikoh81 am 30 November 2015, 21:09:02
Ja, das war am Freitag, da war die Garage um die Uhrzeit offen.
Deshalb wurde cmd_nr 1 ausgeführt: sunset war schon eingetreten, und das Tor wurde geöffnet, Zustand ging somit auf offen

Seither wurde die Garage nur tagsüber aufgemacht und blieb dann bis zum Eintritt von sunset offen.

Ich werde do-always state probieren und berichte dann morgen.
Titel: Antw:DOIF: Kein Trigger durch Eintreten von sunrise/sunset
Beitrag von: heikoh81 am 03 Dezember 2015, 20:46:22
Also mit do-always funktioniert es wie gewünscht.
Tor ist 30min vor sunset offen, sunset tritt ein, Licht geht an. Perfekt.

Aber warum brauche ich in diesem Fall do-always?
sunrise/sunset sind doch als Trigger in [] definiert so wie auch der Dummy.
Und sunset ist eingetreten, also müsste es doch getriggert haben?

Viele Grüße,
Heiko
Titel: Antw:DOIF: Kein Trigger durch Eintreten von sunrise/sunset
Beitrag von: Ellert am 03 Dezember 2015, 20:55:42
Zitat von: Ellert am 30 November 2015, 19:15:40
state ist seit 2015-11-27 21:46:03  auf  cmd_nr  1 .  Versuch mal das Attribut do always,

Weil der Zustand "geschlossen" hier 3 Tage lang nicht eingetreten war.
Titel: Antw:DOIF: Kein Trigger durch Eintreten von sunrise/sunset
Beitrag von: heikoh81 am 03 Dezember 2015, 23:02:03
Ok, aber der Dummy ist ja vor Eintreten von sunset auf "offen" gegangen, somit gab es an dem eine Änderung.
Ich verstehe nicht, wieso der Dummy erst wieder zurück auf "geschlossen" gegangen sein muss ohne do always.
Titel: Antw:DOIF: Kein Trigger durch Eintreten von sunrise/sunset
Beitrag von: Ellert am 03 Dezember 2015, 23:46:26
http://fhem.de/commandref_DE.html#DOIF_do_always (http://fhem.de/commandref_DE.html#DOIF_do_always)