*gelöst* reading aus DOIF mit timeslider abfragen ergibt Fehlermeldung

Begonnen von Olaf234, 15 Februar 2023, 13:35:29

Vorheriges Thema - Nächstes Thema

Olaf234

Hallo liebe Leute,
ich habe folgendes Problem:

DOIF (A) hat einen einstellbaren Zeitslider mittels setList, welches ein reading $SELF:workingtime mit den Werten true und false schreibt.
Hier ist ein list des DOIF:
Internals:
   CFGFN     
   DEF        (
[[$SELF:Group_A_start]|8]
and ![[$SELF:Group_B_start]|8]
)
(setreading $SELF a_working true)

DOELSEIF(
[[$SELF:Group_B_start]|8]
and ![[$SELF:Group_A_start]|8]
)
(setreading $SELF b_working true)

DOELSEIF(
[[$SELF:Group_A_End]|8]
and ![[$SELF:Group_B_End]|8]
)
(setreading $SELF a_working false)

DOELSEIF(
[[$SELF:Group_B_End]|8]
and ![[$SELF:Group_A_End]|8]
)
(setreading $SELF b_working false)

DOELSEIF(
[[$SELF:Group_A_start]|8]
and [[$SELF:Group_B_start]|8]
)
(setreading $SELF a_working true)
(setreading $SELF b_working true)

DOELSEIF(
[[$SELF:Group_A_End]|8]
and [[$SELF:Group_B_End]|8]
)
(setreading $SELF a_working false)
(setreading $SELF b_working false)
   FUUID      63eb7d51-f33f-e865-10e4-25a880ca831aa36c
   MODEL      FHEM
   NAME       workingtime
   NOTIFYDEV  workingtime,global
   NR         467
   NTFY_ORDER 50-workingtime
   STATE      true / true
   TYPE       DOIF
   VERSION    26655 2022-11-05 18:33:59
   eventCount 64
   READINGS:
     2023-02-14 14:21:04   Group_A_End     19:00
     2023-02-14 14:20:55   Group_A_start   07:00
     2023-02-14 14:21:08   Group_B_End     19:00
     2023-02-14 14:20:58   Group_B_start   07:00
     2023-02-15 13:13:09   a_working       true
     2023-02-15 13:13:09   b_working       true
     2023-02-15 13:13:09   cmd             5.2
     2023-02-15 13:13:09   cmd_event       set_cmd_5
     2023-02-15 13:13:09   cmd_nr          5
     2023-02-15 13:13:09   cmd_seqnr       2
     2023-02-15 07:00:00   group_a_atwork  true
     2023-02-15 07:00:00   group_b_atwork  true
     2023-02-15 13:12:25   mode            enabled
     2023-02-15 13:13:09   state           cmd_5
     2023-02-15 13:12:25   timer_01_c01    16.02.2023 07:00:00|8
     2023-02-15 13:12:25   timer_02_c01    16.02.2023 07:00:00|8
     2023-02-15 13:12:25   timer_03_c02    16.02.2023 07:00:00|8
     2023-02-15 13:12:25   timer_04_c02    16.02.2023 07:00:00|8
     2023-02-15 13:12:25   timer_05_c03    15.02.2023 19:00:00|8
     2023-02-15 13:12:25   timer_06_c03    15.02.2023 19:00:00|8
     2023-02-15 13:12:25   timer_07_c04    15.02.2023 19:00:00|8
     2023-02-15 13:12:25   timer_08_c04    15.02.2023 19:00:00|8
     2023-02-15 13:12:25   timer_09_c05    16.02.2023 07:00:00|8
     2023-02-15 13:12:25   timer_10_c05    16.02.2023 07:00:00|8
     2023-02-15 13:12:25   timer_11_c06    15.02.2023 19:00:00|8
     2023-02-15 13:12:25   timer_12_c06    15.02.2023 19:00:00|8
   Regex:
     accu:
     collect:
     itimer:
       workingtime:
         itimer:
           Group_A_End ^workingtime$:^Group_A_End:
           Group_A_start ^workingtime$:^Group_A_start:
           Group_B_End ^workingtime$:^Group_B_End:
           Group_B_start ^workingtime$:^Group_B_start:
   attr:
     cmdState:
     wait:
     waitdel:
   condition:
     0           ::DOIF_time_once($hash,0,$wday,"8") and !::DOIF_time_once($hash,1,$wday,"8")
     1           ::DOIF_time_once($hash,2,$wday,"8") and !::DOIF_time_once($hash,3,$wday,"8")
     2           ::DOIF_time_once($hash,4,$wday,"8") and !::DOIF_time_once($hash,5,$wday,"8")
     3           ::DOIF_time_once($hash,6,$wday,"8") and !::DOIF_time_once($hash,7,$wday,"8")
     4           ::DOIF_time_once($hash,8,$wday,"8") and ::DOIF_time_once($hash,9,$wday,"8")
     5           ::DOIF_time_once($hash,10,$wday,"8") and ::DOIF_time_once($hash,11,$wday,"8")
   days:
     0          8
     1          8
     10         8
     11         8
     2          8
     3          8
     4          8
     5          8
     6          8
     7          8
     8          8
     9          8
   do:
     0:
       0          setreading workingtime a_working true
     1:
       0          setreading workingtime b_working true
     2:
       0          setreading workingtime a_working false
     3:
       0          setreading workingtime b_working false
     4:
       0          setreading workingtime a_working true
       1          setreading workingtime b_working true
     5:
       0          setreading workingtime a_working false
       1          setreading workingtime b_working false
     6:
   helper:
     NOTIFYDEV  workingtime,global
     globalinit 1
     last_timer 12
     sleeptimer -1
   intervalfunc:
   localtime:
     0          1676527200
     1          1676527200
     10         1676484000
     11         1676484000
     2          1676527200
     3          1676527200
     4          1676484000
     5          1676484000
     6          1676484000
     7          1676484000
     8          1676527200
     9          1676527200
   realtime:
     0          07:00:00
     1          07:00:00
     10         19:00:00
     11         19:00:00
     2          07:00:00
     3          07:00:00
     4          19:00:00
     5          19:00:00
     6          19:00:00
     7          19:00:00
     8          07:00:00
     9          07:00:00
   time:
     0          [workingtime:Group_A_start]
     1          [workingtime:Group_B_start]
     10         [workingtime:Group_A_End]
     11         [workingtime:Group_B_End]
     2          [workingtime:Group_B_start]
     3          [workingtime:Group_A_start]
     4          [workingtime:Group_A_End]
     5          [workingtime:Group_B_End]
     6          [workingtime:Group_B_End]
     7          [workingtime:Group_A_End]
     8          [workingtime:Group_A_start]
     9          [workingtime:Group_B_start]
   timeCond:
     0          0
     1          0
     10         5
     11         5
     2          1
     3          1
     4          2
     5          2
     6          3
     7          3
     8          4
     9          4
   timer:
     0          0
     1          0
     10         0
     11         0
     2          0
     3          0
     4          0
     5          0
     6          0
     7          0
     8          0
     9          0
   timers:
     0           0  1
     1           2  3
     2           4  5
     3           6  7
     4           8  9
     5           10  11
   triggertime:
     1676484000:
       localtime  1676484000
       hash:
     1676527200:
       localtime  1676527200
       hash:
   uiState:
   uiTable:
Attributes:
   readingList Group_A_start Group_A_End Group_B_start Group_B_End
   room       4R0BA1_Einstellungen
   setList    Group_A_start:time Group_A_End:time Group_B_start:time Group_B_End:time
   stateFormat group_a_atwork / group_b_atwork
   webCmd     Group_A_start:Group_A_End:Group_B_start:Group_B_End
   webCmdLabel Group_A_start:Group_A_End
:Group_B_start:Group_B_End


DOIF (B) fragt, ob das reading DOIF(A):arbeitszeit eq "false" ist.

Die Abfrage mündet aber im Fehler error: Wrong timespec true: either HH:MM:SS or {perlcode}
(
[?$SELF:usage] eq "Group_A"
and [[workingtime:a_working] eq "false" or [$SELF:muteduringwork] eq "door" or [$SELF:muteduringwork] eq "off"] ## Wahrheitstabelle
and [Sensor01:Tcal] > [?$SELF:Desired_°C] + [?$SELF:Hysterisis_°C]/2
and [$SELF:muted] eq "off"
and [$SELF:alarmsetting] ne "humidity"
)
(setreading $SELF T high)


Edit: wie dumm kann man denn  sein? Ich habe eckige statt runde Klammern verwendet!