FHEM Forum

FHEM => Automatisierung => DOIF => Thema gestartet von: MrTom am 12 Januar 2021, 20:48:16

Titel: DOIF Bewegungsmelder State-Icon zurücksetzen
Beitrag von: MrTom am 12 Januar 2021, 20:48:16
Hallo zusammen

ich bin an der Änderung meiner Konfiguration meiner Bewegungsmelder. Ich möchte dies nun mit einem DOIF machen und nicht wie bis anhin mit einem notify, dummy und DOIF  ;)

Gerne würde ich, wenn eine Bewegung mit einem PIR detektiert wurde und das DOIF dies auf registriert hat, den Status vom DOIF für eine gewisse Zeitspanne auf ein rotes message_presence-Icon setzten. Nach der Zeitspanne soll es wieder weiss werden. Das klappt eigentlich auch soweit ganz gut.

Der Code dazu ist nun dieser:
Internals:
   CFGFN     
   DEF        ([MYSENSOR_112:"tripped3:.on"] or [MQTT2_DVES_8F3136:"Data:.2A7440"] and [?MYSENSOR_108:brightness]<5000)
(set XX_motion_Buero_Presence_PIR on-for-timer 20)
(set BU_Lampe_Buero on)
(set BU_Lampe_Buero on)
(set BU_Lampe_Buero off)
   FUUID      5ffc8724-f33f-4752-703e-0c622646ab88d739
   MODEL      FHEM
   NAME       di_XX_motion_Buero_Presence_PIR
   NOTIFYDEV  global,MYSENSOR_112,MQTT2_DVES_8F3136
   NR         68677
   NTFY_ORDER 50-di_XX_motion_Buero_Presence_PIR
   STATE      cmd_1_3
   TYPE       DOIF
   VERSION    23466 2021-01-03 17:14:46
   READINGS:
     2021-01-12 20:31:29   Device          MYSENSOR_112
     2021-01-12 20:29:35   cmd             1.3
     2021-01-12 20:29:35   cmd_event       MYSENSOR_112
     2021-01-12 20:29:35   cmd_nr          1
     2021-01-12 20:29:35   cmd_seqnr       3
     2021-01-12 20:27:54   e_MQTT2_DVES_8F3136_events UptimeSec: 360916,Time: 2021-01-12T20:27:55,Wifi_Signal: -68,Uptime: 4T04:15:16,Wifi_RSSI: 64
     2021-01-12 20:31:29   e_MYSENSOR_112_events tripped3: off
     2021-01-12 20:24:25   mode            enabled
     2021-01-12 20:29:35   state           cmd_1_3
     2021-01-12 20:31:27   wait_timer      12.01.2021 20:41:27 cmd_1_4 MYSENSOR_112
   Regex:
     accu:
     cond:
       MQTT2_DVES_8F3136:
         0:
           &STATE     ^MQTT2_DVES_8F3136$
       MYSENSOR_112:
         0:
           &STATE     ^MYSENSOR_112$
   attr:
     cmdState:
     cmdpause:
       120
     wait:
       0:
         0
         0
         20
         600
     waitdel:
   condition:
     0          ::EventDoIf('MYSENSOR_112',$hash,'tripped3:.on',1) or ::EventDoIf('MQTT2_DVES_8F3136',$hash,'Data:.2A7440',1) and ::ReadingValDoIf($hash,'MYSENSOR_108','brightness')<5000
   do:
     0:
       0          set XX_motion_Buero_Presence_PIR on-for-timer 20
       1          set BU_Lampe_Buero on
       2          set BU_Lampe_Buero on
       3          set BU_Lampe_Buero off
     1:
   helper:
     DEVFILTER  ^global$|^MQTT2_DVES_8F3136$|^MYSENSOR_112$
     NOTIFYDEV  global|MQTT2_DVES_8F3136|MYSENSOR_112
     event      tripped3: off
     globalinit 1
     last_timer 0
     sleepdevice MYSENSOR_112
     sleepsubtimer 3
     sleeptimer 0
     timerdev   MYSENSOR_112
     timerevent tripped3: on
     triggerDev MYSENSOR_112
     timerevents:
       tripped3: on
     timereventsState:
       tripped3: on
     triggerEvents:
       tripped3: off
     triggerEventsState:
       tripped3: off
   internals:
   readings:
   trigger:
     all         MYSENSOR_112 MQTT2_DVES_8F3136
   uiState:
   uiTable:
Attributes:
   cmdpause   120
   devStateIcon cmd_1_1|cmd_1_2:message_presence@red cmd_1_3:message_presence@white cmd_1|initialized:message_presence@white
   do         resetwait
   group      Motiondetection
   icon       icoUhr
   room       Logik
   wait       0,0,20,600


Funktionier soweit, mich stört ein wenig das doppelte Schalten der Lampe.

Gibts da was Eleganteres?

Besten Dank
Thomas
Titel: Antw:DOIF Bewegungsmelder State-Icon zurücksetzen
Beitrag von: amenomade am 12 Januar 2021, 22:13:13
Mach den zweiten "set ... on" einfach leer, also nur
()