Hauptmenü

DOIF und :state:sec

Begonnen von peter_w, 17 März 2022, 09:17:59

Vorheriges Thema - Nächstes Thema

peter_w

Hallo zusammen, ich habe vor Kurzem von MQTT_DEVICE auf MQTT2_DEVICE umgestellt und jetzt ein Problem mit einem DOIF.
Was ich machen möchte: Ein Schalter der zwei Stunden in Stellung "on" steht soll abgeschaltet werden. Das soll folgende Zeile machen:
DOELSEIF ([$SELF:mybutton] eq "Auto" and [KHZ_SchalterSonoff_DHWSchalter] eq "on" and  [KHZ_SchalterSonoff_DHWSchalter:state:sec] > 3600 )
           (set KHZ_SchalterSonoff_DHWSchalter off )

(List des gesamten DOIF folgt)

In der Oberfläche wird beim Device: KHZ_SchalterSonoff_DHWSchalter folgende Zeile angezeigt:
state on 2022-03-16 15:14:41
was ja am heutigen Tag die 2h locker überschreitet, der Schalter bleibt aber an und wird nicht abgeschaltet, DOIF bleibt im Zustand in dem der Schalter eingeschaltet wurde.

Wäre super wenn mir Jemand einen Tip geben könnt was ich falsch mache.
Danke
Peter

List des DOIF schaut so aus
Internals:
   DEF        ([$SELF:mybutton] eq "Off")
  (set KHZ_SchalterSonoff_DHWSchalter off)                              ## Manual_OFF
DOELSEIF ([$SELF:mybutton] eq "On")
  (set KHZ_SchalterSonoff_DHWSchalter on)                               ## Manual_ON
DOELSEIF ([$SELF:mybutton] eq "Auto" and [Bewohner:residentsHome] == 0) 
  (set KHZ_SchalterSonoff_DHWSchalter off)                              ## AWAY nobody home   
DOELSEIF ([$SELF:mybutton] eq "Auto" and [Bewohner:residentsHome] > 0 and
          [03:00 - 17:00] and [KHZ_SchalterSonoff_HZSchalter:DHW_Temp] < 36 )  ## EMERGENCY  Auto, somebody home and tank to cold
  (set KHZ_SchalterSonoff_DHWSchalter on)
DOELSEIF ([$SELF:mybutton] eq "Auto" and [Bewohner:residentsHome] > 0 and
         ([03:00 - |AT] or [10:00 - 11:30|AT] or [18:00 - 22:00|AT]) and [KHZ_SchalterSonoff_HZSchalter:DHW_Temp] < 42 )
  (set KHZ_SchalterSonoff_DHWSchalter on) ## AUTO_ON_AT
DOELSEIF ([$SELF:mybutton] eq "Auto" and [Bewohner:residentsHome] > 0 and
          ([06:00 - 07:30|WE] or [11:00 - 13:00|WE] or [18:00 - 22:00|WE]) and [KHZ_SchalterSonoff_HZSchalter:DHW_Temp] < 42 )
    ## AUTO_ON_WE
  (set KHZ_SchalterSonoff_DHWSchalter on)
DOELSEIF ([$SELF:mybutton] eq "Auto" and [KHZ_SchalterSonoff_DHWSchalter] eq "on" and
          [KHZ_SchalterSonoff_DHWSchalter:state:sec] > 3600 )                               ## STOP
  (set KHZ_SchalterSonoff_DHWSchalter off )
   FUUID      5cfcd637-f33f-9f5a-2e2e-33ba4b77f4e0c9ab
   MODEL      FHEM
   NAME       DoKHzDhwTime
   NOTIFYDEV  KHZ_SchalterSonoff_HZSchalter,DoKHzDhwTime,Bewohner,KHZ_SchalterSonoff_DHWSchalter,global
   NR         1046
   NTFY_ORDER 50-DoKHzDhwTime
   STATE      EMERGENCY
   TYPE       DOIF
   VERSION    25812 2022-03-10 22:29:47
   .attraggr:
   .attrminint:
   Helper:
     DBLOG:
       deltaDHW:
         logdb:
           TIME       1647430019.83782
           VALUE      -15.2
       state:
         logdb:
           TIME       1647440081.07163
           VALUE      EMERGENCY
   OLDREADINGS:
   READINGS:
     2022-03-17 08:39:41   Device          KHZ_SchalterSonoff_HZSchalter
     2022-03-16 15:14:41   cmd             4
     2022-03-16 15:14:41   cmd_event       KHZ_SchalterSonoff_HZSchalter
     2022-03-16 15:14:41   cmd_nr          4
     2022-03-17 02:13:30   e_Bewohner_residentsHome 2
     2022-03-16 12:29:51   e_DoKHzDhwTime_mybutton Auto
     2022-03-16 15:14:41   e_KHZ_SchalterSonoff_DHWSchalter_STATE on
     2022-03-16 15:14:41   e_KHZ_SchalterSonoff_DHWSchalter_state on
     2022-03-17 08:39:41   e_KHZ_SchalterSonoff_HZSchalter_DHW_Temp 57.9
     2022-03-12 22:08:41   mode            enabled
     2022-03-16 12:29:51   mybutton        Auto
     2022-03-16 15:14:41   state           EMERGENCY
     2022-03-16 17:00:00   timer_01_c04    17.03.2022 03:00:00
     2022-03-16 17:00:00   timer_02_c04    17.03.2022 17:00:00
     2022-03-17 03:00:00   timer_03_c05    18.03.2022 03:00:00|AT
     2022-03-16 11:30:00   timer_04_c05    17.03.2022 10:00:00|AT
     2022-03-16 11:30:00   timer_05_c05    17.03.2022 11:30:00|AT
     2022-03-16 22:00:00   timer_06_c05    17.03.2022 18:00:00|AT
     2022-03-16 22:00:00   timer_07_c05    17.03.2022 22:00:00|AT
     2022-03-17 07:30:00   timer_08_c06    18.03.2022 06:00:00|WE
     2022-03-17 07:30:00   timer_09_c06    18.03.2022 07:30:00|WE
     2022-03-16 13:00:00   timer_10_c06    17.03.2022 11:00:00|WE
     2022-03-16 13:00:00   timer_11_c06    17.03.2022 13:00:00|WE
     2022-03-16 22:00:00   timer_12_c06    17.03.2022 18:00:00|WE
     2022-03-16 22:00:00   timer_13_c06    17.03.2022 22:00:00|WE
   Regex:
     accu:
       KHZ_SchalterSonoff_HZSchalter:
         accu:
           DHW_Temp   ^KHZ_SchalterSonoff_HZSchalter$:^DHW_Temp:
     collect:
     cond:
       Bewohner:
         0:
         1:
         2:
           residentsHome ^Bewohner$:^residentsHome:
         3:
           residentsHome ^Bewohner$:^residentsHome:
         4:
           residentsHome ^Bewohner$:^residentsHome:
         5:
           residentsHome ^Bewohner$:^residentsHome:
         6:
       DoKHzDhwTime:
         0:
           mybutton   ^DoKHzDhwTime$:^mybutton:
         1:
           mybutton   ^DoKHzDhwTime$:^mybutton:
         2:
           mybutton   ^DoKHzDhwTime$:^mybutton:
         3:
           mybutton   ^DoKHzDhwTime$:^mybutton:
         4:
           mybutton   ^DoKHzDhwTime$:^mybutton:
         5:
           mybutton   ^DoKHzDhwTime$:^mybutton:
         6:
           mybutton   ^DoKHzDhwTime$:^mybutton:
       KHZ_SchalterSonoff_DHWSchalter:
         0:
         1:
         2:
         3:
         4:
         5:
         6:
           &STATE     ^KHZ_SchalterSonoff_DHWSchalter$
           state      ^KHZ_SchalterSonoff_DHWSchalter$:^state:
       KHZ_SchalterSonoff_HZSchalter:
         0:
         1:
         2:
         3:
           DHW_Temp   ^KHZ_SchalterSonoff_HZSchalter$:^DHW_Temp:
         4:
           DHW_Temp   ^KHZ_SchalterSonoff_HZSchalter$:^DHW_Temp:
         5:
           DHW_Temp   ^KHZ_SchalterSonoff_HZSchalter$:^DHW_Temp:
         6:
   accu:
     KHZ_SchalterSonoff_HZSchalter DHW_Temp:
       dim        120
       value:
         54.7
         54.7
         54.5
         54.5
         54.4
         54.4
         54.3
         54.3
         54.1
         54.1
         53.9
         53.9
         53.8
         53.8
         53.6
         53.6
         53.5
         53.5
         53.4
         53.4
         53.3
         53.3
         53.1
         53.1
         53.0
         53.0
         52.8
         52.8
         52.8
         52.8
         52.8
         52.8
         52.8
         53.6
         53.6
         55.3
         55.3
         56.9
         56.9
         57.6
         57.6
         57.8
         57.8
         57.8
         57.8
         57.7
         57.7
         57.6
         57.6
         57.5
         57.5
         57.4
         57.4
         57.3
         57.3
         57.1
         57.1
         57.0
         57.0
         56.9
         56.9
         56.7
         56.7
         56.6
         56.6
         56.4
         56.4
         56.3
         56.3
         56.1
         56.1
         56.0
         56.0
         55.8
         55.8
         55.7
         55.7
         55.6
         55.6
         55.4
         55.4
         55.3
         55.3
         55.1
         55.1
         55.0
         55.0
         54.8
         54.8
         54.7
         54.7
         54.6
         54.6
         54.4
         54.4
         54.3
         54.3
         54.1
         54.1
         53.8
         53.8
         53.6
         53.6
         53.4
         53.4
         53.3
         53.3
         53.1
         53.1
         53.0
         53.0
         52.6
         52.6
         52.8
         52.8
         54.6
         54.6
         56.6
         56.6
         57.9
   attr:
     cmdState:
       0:
         OFF
       1:
         ON
       2:
         AWAY
       3:
         EMERGENCY
       4:
         AUTO_ON_AT
       5:
         AUTO_ON_WE
       6:
         STOP
     wait:
     waitdel:
   condition:
     0          ::ReadingValDoIf($hash,'DoKHzDhwTime','mybutton') eq "Off"
     1          ::ReadingValDoIf($hash,'DoKHzDhwTime','mybutton') eq "On"
     2          ::ReadingValDoIf($hash,'DoKHzDhwTime','mybutton') eq "Auto" and ::ReadingValDoIf($hash,'Bewohner','residentsHome') == 0
     3          ::ReadingValDoIf($hash,'DoKHzDhwTime','mybutton') eq "Auto" and ::ReadingValDoIf($hash,'Bewohner','residentsHome') > 0 and            ::DOIF_time($hash,0,1,$wday,$hms) and ::ReadingValDoIf($hash,'KHZ_SchalterSonoff_HZSchalter','DHW_Temp') < 36
     4          ::ReadingValDoIf($hash,'DoKHzDhwTime','mybutton') eq "Auto" and ::ReadingValDoIf($hash,'Bewohner','residentsHome') > 0 and           (::DOIF_time_once($hash,2,$wday,"AT") or ::DOIF_time($hash,3,4,$wday,$hms,"AT") or ::DOIF_time($hash,5,6,$wday,$hms,"AT")) and ::ReadingValDoIf($hash,'KHZ_SchalterSonoff_HZSchalter','DHW_Temp') < 42
     5          ::ReadingValDoIf($hash,'DoKHzDhwTime','mybutton') eq "Auto" and ::ReadingValDoIf($hash,'Bewohner','residentsHome') > 0 and            (::DOIF_time($hash,7,8,$wday,$hms,"WE") or ::DOIF_time($hash,9,10,$wday,$hms,"WE") or ::DOIF_time($hash,11,12,$wday,$hms,"WE")) and ::ReadingValDoIf($hash,'KHZ_SchalterSonoff_HZSchalter','DHW_Temp') < 42
     6          ::ReadingValDoIf($hash,'DoKHzDhwTime','mybutton') eq "Auto" and ::InternalDoIf($hash,'KHZ_SchalterSonoff_DHWSchalter','STATE') eq "on" and            ::ReadingSecDoIf('KHZ_SchalterSonoff_DHWSchalter','state') > 3600
   days:
     10         WE
     11         WE
     12         WE
     2          AT
     3          AT
     4          AT
     5          AT
     6          AT
     7          WE
     8          WE
     9          WE
   devices:
   do:
     0:
       0          set KHZ_SchalterSonoff_DHWSchalter off
     1:
       0          set KHZ_SchalterSonoff_DHWSchalter on
     2:
       0          set KHZ_SchalterSonoff_DHWSchalter off
     3:
       0          set KHZ_SchalterSonoff_DHWSchalter on
     4:
       0          set KHZ_SchalterSonoff_DHWSchalter on
     5:
       0          set KHZ_SchalterSonoff_DHWSchalter on
     6:
       0          set KHZ_SchalterSonoff_DHWSchalter off
     7:
   helper:
     NOTIFYDEV  KHZ_SchalterSonoff_HZSchalter,DoKHzDhwTime,Bewohner,KHZ_SchalterSonoff_DHWSchalter,global
     event      TempUnit: C,Time: 2022-03-17T08:39:41,DS18B20-1_Id: 0000074A5540,DS18B20-3_Id: 0000074A791D,DS18B20-4_Temperature: 45.1,DS18B20-1_Temperature: 64.3,DS18B20-4_Id: 0000074AC1E1,DS18B20-2_Temperature: 33.4,DS18B20-2_Id: 0000074A6010,DS18B20-3_Temperature: 57.9,Kessel_Temp: 64.3,HK1_R_Temp: 33.4,DHW_Temp: 57.9,HK1_V_Temp: 45.1
     globalinit 1
     last_timer 13
     sleeptimer -1
     timerdev   KHZ_SchalterSonoff_HZSchalter
     timerevent Wifi_Channel: 11,Wifi_Mode: 11n,MqttCount: 5,Wifi_SSId: HoPiJaBox,Time: 2022-03-16T15:19:40,Wifi_BSSId: 3C:A6:2F:B7:B8:5E,UptimeSec: 1220724,SleepMode: Dynamic,Wifi_RSSI: 68,Wifi_Signal: -66,Uptime: 14T03:05:24,Heap: 27,LoadAvg: 19,Wifi_AP: 1,Sleep: 50,Wifi_Downtime: 0T00:00:09,Wifi_LinkCount: 4,Kessel_Temp: 57.8,HK1_R_Temp: 33.1,DHW_Temp: 35.9,HK1_V_Temp: 48.0
     triggerDev KHZ_SchalterSonoff_HZSchalter
     timerevents:
       Wifi_Channel: 11
       Wifi_Mode: 11n
       MqttCount: 5
       Wifi_SSId: HoPiJaBox
       Time: 2022-03-16T15:19:40
       Wifi_BSSId: 3C:A6:2F:B7:B8:5E
       UptimeSec: 1220724
       SleepMode: Dynamic
       Wifi_RSSI: 68
       Wifi_Signal: -66
       Uptime: 14T03:05:24
       Heap: 27
       LoadAvg: 19
       Wifi_AP: 1
       Sleep: 50
       Wifi_Downtime: 0T00:00:09
       Wifi_LinkCount: 4
       Kessel_Temp: 57.8
       HK1_R_Temp: 33.1
       DHW_Temp: 35.9
       HK1_V_Temp: 48.0
     timereventsState:
       Wifi_Channel: 11
       Wifi_Mode: 11n
       MqttCount: 5
       Wifi_SSId: HoPiJaBox
       Time: 2022-03-16T15:19:40
       Wifi_BSSId: 3C:A6:2F:B7:B8:5E
       UptimeSec: 1220724
       SleepMode: Dynamic
       Wifi_RSSI: 68
       Wifi_Signal: -66
       Uptime: 14T03:05:24
       Heap: 27
       LoadAvg: 19
       Wifi_AP: 1
       Sleep: 50
       Wifi_Downtime: 0T00:00:09
       Wifi_LinkCount: 4
       Kessel_Temp: 57.8
       HK1_R_Temp: 33.1
       DHW_Temp: 35.9
       HK1_V_Temp: 48.0
     triggerEvents:
       TempUnit: C
       Time: 2022-03-17T08:39:41
       DS18B20-1_Id: 0000074A5540
       DS18B20-3_Id: 0000074A791D
       DS18B20-4_Temperature: 45.1
       DS18B20-1_Temperature: 64.3
       DS18B20-4_Id: 0000074AC1E1
       DS18B20-2_Temperature: 33.4
       DS18B20-2_Id: 0000074A6010
       DS18B20-3_Temperature: 57.9
       Kessel_Temp: 64.3
       HK1_R_Temp: 33.4
       DHW_Temp: 57.9
       HK1_V_Temp: 45.1
     triggerEventsState:
       TempUnit: C
       Time: 2022-03-17T08:39:41
       DS18B20-1_Id: 0000074A5540
       DS18B20-3_Id: 0000074A791D
       DS18B20-4_Temperature: 45.1
       DS18B20-1_Temperature: 64.3
       DS18B20-4_Id: 0000074AC1E1
       DS18B20-2_Temperature: 33.4
       DS18B20-2_Id: 0000074A6010
       DS18B20-3_Temperature: 57.9
       Kessel_Temp: 64.3
       HK1_R_Temp: 33.4
       DHW_Temp: 57.9
       HK1_V_Temp: 45.1
   internals:
     all         KHZ_SchalterSonoff_DHWSchalter:STATE
   interval:
     0          -1
     1          0
     10         9
     11         -1
     12         11
     3          -1
     4          3
     5          -1
     6          5
     7          -1
     8          7
     9          -1
   intervalfunc:
   intervaltimer:
   localtime:
     0          1647482400
     1          1647532800
     10         1647518400
     11         1647536400
     12         1647550800
     2          1647568800
     3          1647507600
     4          1647513000
     5          1647536400
     6          1647550800
     7          1647579600
     8          1647585000
     9          1647511200
   readings:
     all         DoKHzDhwTime:mybutton Bewohner:residentsHome KHZ_SchalterSonoff_HZSchalter:DHW_Temp KHZ_SchalterSonoff_DHWSchalter:state
   realtime:
     0          03:00:00
     1          17:00:00
     10         13:00:00
     11         18:00:00
     12         22:00:00
     2          03:00:00
     3          10:00:00
     4          11:30:00
     5          18:00:00
     6          22:00:00
     7          06:00:00
     8          07:30:00
     9          11:00:00
   time:
     0          03:00:00
     1          17:00:00
     10         13:00:00
     11         18:00:00
     12         22:00:00
     2          03:00:00
     3          10:00:00
     4          11:30:00
     5          18:00:00
     6          22:00:00
     7          06:00:00
     8          07:30:00
     9          11:00:00
   timeCond:
     0          3
     1          3
     10         5
     11         5
     12         5
     2          4
     3          4
     4          4
     5          4
     6          4
     7          5
     8          5
     9          5
   timer:
     0          0
     1          0
     10         0
     11         0
     12         0
     2          0
     3          0
     4          0
     5          0
     6          0
     7          0
     8          0
     9          0
   timers:
     3           0  1
     4           2  3  4  5  6
     5           7  8  9  10  11  12
   trigger:
   triggertime:
     1647507600:
       localtime  1647507600
       hash:
     1647511200:
       localtime  1647511200
       hash:
     1647513000:
       localtime  1647513000
       hash:
     1647518400:
       localtime  1647518400
       hash:
     1647532800:
       localtime  1647532800
       hash:
     1647536400:
       localtime  1647536400
       hash:
     1647550800:
       localtime  1647550800
       hash:
     1647568800:
       localtime  1647568800
       hash:
     1647579600:
       localtime  1647579600
       hash:
     1647585000:
       localtime  1647585000
       hash:
   uiState:
   uiTable:
Attributes:
   alias      DHW Betriebsart
   cmdState   OFF|ON|AWAY|EMERGENCY|AUTO_ON_AT|AUTO_ON_WE|STOP
   readingList mybutton
   room       Heizung,Heizung_DHW
   setList    mybutton:Auto,On,Off
   verbose    5
   webCmd     mybutton


List KHZ_SchalterSonoff_DHWSchalter der überwacht wird
Internals:
   CID        MQTT2_DVES_48EEFA_CH2
   DEF        MQTT2_DVES_48EEFA_CH2
   DEVICETOPIC KHZ_SchalterSonoff_DHWSchalter
   FUUID      621f5171-f33f-9f5a-933a-b28563e7a92cc861
   IODev      mqtt2s
   LASTInputDev mqtt2s
   MSGCNT     14
   NAME       KHZ_SchalterSonoff_DHWSchalter
   NR         1154
   STATE      on
   TYPE       MQTT2_DEVICE
   mqtt2s_CONN mqtt2s_192.168.0.69_52115
   mqtt2s_MSGCNT 14
   mqtt2s_TIME 2022-03-16 15:14:41
   .attraggr:
   .attrminint:
   Helper:
     DBLOG:
       state:
         logdb:
           TIME       1647440081.24186
           VALUE      on
   JSONMAP:
     ANALOG_A0  0
     Dimmer     pct
     Heap       0
     LedTable   0
     LoadAvg    0
     MqttCount  0
     POWER1     0
     POWER2     0
     SaveData   0
     Scheme     0
     SetOption26 0
     Sleep      0
     SleepMode  0
     Speed      0
     StateText1 0
     StateText2 0
     StateText3 0
     StateText4 0
     Time       0
     Uptime     0
     UptimeSec  0
     Wifi_AP    0
     Wifi_BSSId 0
     Wifi_Channel 0
     Wifi_Downtime 0
     Wifi_LinkCount 0
     Wifi_RSSI  0
     Wifi_SSId  0
   READINGS:
     2022-03-11 20:01:57   IODev           mqtt2s
     2022-03-03 08:50:26   associatedWith  KHZ_SchalterSonoff_HZSchalter,MQTT2_DVES_48EEFA_CH2,MQTT2_DVES_48EEFA_CH4
     2022-03-02 12:13:55   attrTemplateVersion 20200828
     2022-03-16 15:14:41   state           on
Attributes:
   alias      Heizung DHW
   autocreate 0
   comment    Channel 3 for MQTT2_DVES_48EEFA, see also MQTT2_DVES_48EEFA, MQTT2_DVES_48EEFA_CH2 and MQTT2_DVES_48EEFA_CH4
   group      Sonderschalter
   icon       hue_filled_outlet
   jsonMap    POWER2:0 Dimmer:pct POWER1:0 Heap:0 LedTable:0 LoadAvg:0 MqttCount:0 SaveData:0 Scheme:0 SetOption26:0 Sleep:0 SleepMode:0 Speed:0 StateText1:0 StateText2:0 StateText3:0 StateText4:0 Time:0 Uptime:0 UptimeSec:0 Wifi_SSId:0 Wifi_RSSI:0 Wifi_LinkCount:0 Wifi_Downtime:0 Wifi_Channel:0 Wifi_BSSId:0 Wifi_AP:0 ANALOG_A0:0 SetOption26:0 Sleep:0 SleepMode:0 Speed:0 StateText1:0 StateText2:0 StateText3:0 StateText4:0 Time:0 Uptime:0 UptimeSec:0 Wifi_SSId:0 Wifi_RSSI:0 Wifi_LinkCount:0 Wifi_Downtime:0 Wifi_Channel:0 Wifi_BSSId:0 Wifi_AP:0
   model      tasmota_4channel_split
   readingList stat/tasmota_48EEFA/POWER3:.* state
   room       Heizung_DHW,MQTT2_DEVICE
   setList    off:noArg    cmnd/tasmota_48EEFA/POWER3 0
  on:noArg     cmnd/tasmota_48EEFA/POWER3 1
  toggle:noArg cmnd/tasmota_48EEFA/POWER3 2
   setStateList on off toggle
Release  : 5.8
Raspberry Pi 3
CUL V 1.63 CSM868 HomeMatic (SCC)
HM-CC-RT-DN,HM-LC-Bl1PBU-FM,HM-LC-Sw1PBU-FM,HM-SEC-SCo,HM-WDS10-TH-O

Damian

DOELSEIF ([$SELF:mybutton] eq "Auto" and [KHZ_SchalterSonoff_DHWSchalter] eq "on" and  [KHZ_SchalterSonoff_DHWSchalter:state:sec] > 3600 )

Hier triggert KHZ_SchalterSonoff_DHWSchalter. Zum Zeitpunkt des Triggers von KHZ_SchalterSonoff_DHWSchalter ist :sec immer 0. Daher ist diese Abfrage so nicht sinnvoll.


Ggf. musst du mit oldReading arbeiten.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

peter_w

Danke für die Antwort, habe ich verstanden dass [KHZ_SchalterSonoff_DHWSchalter:state:sec] sich in dem Moment wo es sich ändert immer = 0 ist.
Ziel ist es ja zu prüfen ob "KHZ_SchalterSonoff_DHWSchalter:state = on" für eine Stunde ist, also wird es keinen Trigger von "KHZ_SchalterSonoff_DHWSchalter:state" geben.

Bis vor kurzer Zeit hat das Konstrukt ja so funktioniert. Jetzt meine Anfängerfrage: Wenn irgendeine Abfrage in DOIF feuert, wie z.B. eine Temperatur die in dem DOIF abgefragt wird, werden dann alle Bedingungen im DOIF abgefragt ?
Hier ein weiterer Teil des DOIF:

DOELSEIF ([$SELF:mybutton] eq "Auto" and [Bewohner:residentsHome] > 0 and ([03:00 - |AT] or [10:00 - 11:30|AT] or [18:00 - 22:00|AT]) and [KHZ_SchalterSonoff_HZSchalter:DHW_Temp] < 42 )
  (set KHZ_SchalterSonoff_DHWSchalter on) ## AUTO_ON_AT
DOELSEIF ([$SELF:mybutton] eq "Auto" and [KHZ_SchalterSonoff_DHWSchalter] eq "on" and [KHZ_SchalterSonoff_HZSchalter:DHW_Temp] > 0 and [KHZ_SchalterSonoff_DHWSchalter:state:sec] > 3600 )


"KHZ_SchalterSonoff_HZSchalter:DHW_Temp" ist eine Speichertemperatur die sich laufend ändert. Die Abfrage steht aber nicht im gleichen DOELSEIF Zweig wie die Abfrage "[KHZ_SchalterSonoff_DHWSchalter:state:sec] > 3600".

Danke Peter
Release  : 5.8
Raspberry Pi 3
CUL V 1.63 CSM868 HomeMatic (SCC)
HM-CC-RT-DN,HM-LC-Bl1PBU-FM,HM-LC-Sw1PBU-FM,HM-SEC-SCo,HM-WDS10-TH-O

Damian

Zitat von: peter_w am 17 März 2022, 14:12:10
Danke für die Antwort, habe ich verstanden dass [KHZ_SchalterSonoff_DHWSchalter:state:sec] sich in dem Moment wo es sich ändert immer = 0 ist.
Ziel ist es ja zu prüfen ob "KHZ_SchalterSonoff_DHWSchalter:state = on" für eine Stunde ist, also wird es keinen Trigger von "KHZ_SchalterSonoff_DHWSchalter:state" geben.

Bis vor kurzer Zeit hat das Konstrukt ja so funktioniert. Jetzt meine Anfängerfrage: Wenn irgendeine Abfrage in DOIF feuert, wie z.B. eine Temperatur die in dem DOIF abgefragt wird, werden dann alle Bedingungen im DOIF abgefragt ?
Hier ein weiterer Teil des DOIF:

DOELSEIF ([$SELF:mybutton] eq "Auto" and [Bewohner:residentsHome] > 0 and ([03:00 - |AT] or [10:00 - 11:30|AT] or [18:00 - 22:00|AT]) and [KHZ_SchalterSonoff_HZSchalter:DHW_Temp] < 42 )
  (set KHZ_SchalterSonoff_DHWSchalter on) ## AUTO_ON_AT
DOELSEIF ([$SELF:mybutton] eq "Auto" and [KHZ_SchalterSonoff_DHWSchalter] eq "on" and [KHZ_SchalterSonoff_HZSchalter:DHW_Temp] > 0 and [KHZ_SchalterSonoff_DHWSchalter:state:sec] > 3600 )


"KHZ_SchalterSonoff_HZSchalter:DHW_Temp" ist eine Speichertemperatur die sich laufend ändert. Die Abfrage steht aber nicht im gleichen DOELSEIF Zweig wie die Abfrage "[KHZ_SchalterSonoff_DHWSchalter:state:sec] > 3600".

Danke Peter

Es werden nur Bedingungen abgefragt, wo sich auch ein passender Trigger zum Event befindet - so steht es in der Doku.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

peter_w

OK verstanden.
Laut Doku wird wohl "attr checkReadingEvent 0" helfen um das Problem zu lösen.
Ich werde mich mal auf die Suche begeben ob es vor der Umstellung auf MQTT2_DEVICE evt. drin war und ich es gelöscht habe. Ging ja vorher.

Danke.
Release  : 5.8
Raspberry Pi 3
CUL V 1.63 CSM868 HomeMatic (SCC)
HM-CC-RT-DN,HM-LC-Bl1PBU-FM,HM-LC-Sw1PBU-FM,HM-SEC-SCo,HM-WDS10-TH-O

peter_w

Hab mal in einer alten Config von Februar vor der Änderung geschaut, "checkReadingEvent" war nicht drin.
Wenn sich die Voreinstellung innerhalb der letzten Monate geändert hat

"Bemerkung: In früheren Versionen des Moduls war checkReadingEvent 0 die Voreinstellung des Moduls."

dann verstehe ich warum es nichtmehr funktioniert hat, ansonsten ist es wohl ein Wunder  :).

Gruß
     Peter
Release  : 5.8
Raspberry Pi 3
CUL V 1.63 CSM868 HomeMatic (SCC)
HM-CC-RT-DN,HM-LC-Bl1PBU-FM,HM-LC-Sw1PBU-FM,HM-SEC-SCo,HM-WDS10-TH-O

Damian

Zitat von: peter_w am 17 März 2022, 15:47:22
Hab mal in einer alten Config von Februar vor der Änderung geschaut, "checkReadingEvent" war nicht drin.
Wenn sich die Voreinstellung innerhalb der letzten Monate geändert hat

"Bemerkung: In früheren Versionen des Moduls war checkReadingEvent 0 die Voreinstellung des Moduls."

dann verstehe ich warum es nichtmehr funktioniert hat, ansonsten ist es wohl ein Wunder  :).

Gruß
     Peter

Also früher wurde bei jedem Event des Devices getriggert, das macht die Abfrage mit sec nicht besser.

Die Mechanismen haben sich sonst hierbei nicht geändert.

Eigentlich macht die Abfrage mit sec nur ohne Trigger Sinn, also mit Fragezeichen:

[?KHZ_SchalterSonoff_DHWSchalter:state:sec]

Warum es früher bei dir funktioniert haben soll, kann ich dir nicht sagen.

Womöglich hast du mit checkall gearbeitet, https://fhem.de/commandref_DE.html#DOIF_checkall

hierbei werden auch Bedingungen abgefragt, die keine Trigger zum Event beinhalten.


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