FHEM Forum

FHEM => Automatisierung => DOIF => Thema gestartet von: Tommy82 am 02 Februar 2019, 20:00:09

Titel: [GELÖST]Doif soll nur zwischen 18 und 3 Uhr on schalten
Beitrag von: Tommy82 am 02 Februar 2019, 20:00:09
Hi,
ich habe folgendes DoIf

Internals:
   DEF        ([18:00-03:00] and [PC_Buero:presence] eq "present" )(set Steckdose_Buero_Schrank_Licht on) DOELSEIF ([PC_Buero:presence] eq "absent" )(set Steckdose_Buero_Schrank_Licht off) DOELSE
   FUUID      5c48d22a-f33f-f412-1565-aeb71207a9a822ae
   MODEL      FHEM
   NAME       doif_Steckdose_Buero_Schrank_Licht
   NR         246
   NTFY_ORDER 50-doif_Steckdose_Buero_Schrank_Licht
   STATE      cmd_1
   TYPE       DOIF
   Helper:
     DBLOG:
       cmd:
         myDbLog:
           TIME       1549126801.02739
           VALUE      1
       cmd_event:
         myDbLog:
           TIME       1549126801.02739
           VALUE      timer_1
       cmd_nr:
         myDbLog:
           TIME       1549126801.02739
           VALUE      1
       state:
         myDbLog:
           TIME       1549126801.02739
           VALUE      cmd_1
   READINGS:
     2019-02-02 19:56:24   Device          PC_Buero
     2019-02-02 18:00:01   cmd             1
     2019-02-02 18:00:01   cmd_event       timer_1
     2019-02-02 18:00:01   cmd_nr          1
     2019-02-02 19:56:24   e_PC_Buero_presence present
     2019-02-02 18:00:01   state           cmd_1
     2019-02-02 10:43:50   timer_01_c01    02.02.2019 18:00:00
     2019-02-02 10:43:50   timer_02_c01    03.02.2019 03:00:00
   Regex:
   attr:
     cmdState:
     waitdel:
   condition:
     0          ::DOIF_time($hash,0,1,$wday,$hms) and ::ReadingValDoIf($hash,'PC_Buero','presence') eq "present"
     1          ::ReadingValDoIf($hash,'PC_Buero','presence') eq "absent"
   days:
   devices:
     0           PC_Buero
     1           PC_Buero
     all         PC_Buero
   do:
     0:
       0          set Steckdose_Buero_Schrank_Licht on
     1:
       0          set Steckdose_Buero_Schrank_Licht off
     2:
       0         
   helper:
     event      present,presence: present
     globalinit 1
     last_timer 2
     sleeptimer -1
     timerdev   PC_Buero
     timerevent present,presence: present
     triggerDev PC_Buero
     DOIF_eventas:
       cmd_nr: 1
       cmd: 1
       cmd_event: timer_1
       state: cmd_1
     timerevents:
       present
       presence: present
     timereventsState:
       state: present
       presence: present
     triggerEvents:
       present
       presence: present
     triggerEventsState:
       state: present
       presence: present
   internals:
   interval:
     0          -1
     1          0
   intervalfunc:
   intervaltimer:
   itimer:
   localtime:
     0          1549126800
     1          1549159200
   perlblock:
   readings:
     0           PC_Buero:presence
     1           PC_Buero:presence
     all         PC_Buero:presence
   realtime:
     0          18:00:00
     1          03:00:00
   time:
     0          18:00:00
     1          03:00:00
   timeCond:
     0          0
     1          0
   timer:
     0          0
     1          0
   timers:
     0           0  1
   trigger:
   triggertime:
     1549159200:
       localtime  1549159200
       hash:
   uiState:
   uiTable:
Attributes:
   group      Steckdosen
   room       Büro


Ich hätte gerne das zwischen 3 und 18 uhr immer ein (set Steckdose_Buero_Schrank_Licht off gesendet wird, egal ob der PN present oder absent ist.

Wie müsste ich das Doif dazu verändern?

Danke
Titel: Antw:Doif soll nur zwischen 18 und 3 Uhr on schalten
Beitrag von: swsmily am 02 Februar 2019, 20:30:28
([18:00-03:00] and [PC_Buero:presence] eq "present" )(set Steckdose_Buero_Schrank_Licht on) DOELSE (set Steckdose_Buero_Schrank_Licht off)
Somit Steckdose nur an, wenn 18:00 bis 3 Uhr und PC an. Ansonsten Steckdose aus.