[gelöst] DOIF - Bareword "auto" not allowed while "strict subs" in use

Begonnen von WhyTea, 18 Dezember 2018, 18:06:09

Vorheriges Thema - Nächstes Thema

WhyTea

Hallo
Ich versuche meine Heizungsteuerung von at auf DOIF umzustellen und laufe in einen Fehler den ich nicht verstehe.
Googeln und genaues lesen des  commandref von IF und DOIF haben mich leider auch nicht weitergebracht daher hoffe ich auf eure Hilfe.

Ich verstehe die Fehlermeldung eingentlich aber ich habe doch die genannten Vergleichswerte schon in "" geschreiben.  :o

Danke und Gruß
Daniel

defmod di.EG_AZ_tagtemp DOIF (\
([16:12|Mo Di Mi Do Fr] or [07:00|Sa So]) (\
set EG_AZ_Temp [Raumtemp];;\
IF ([_Heizungsschalter] eq "auto" and [EG_AZ_Fenster:state] eq "closed" and [Anwesend] eq "yes") (\
set EG_AZ_Thermostat_Clima desired-temp [Raumtemp]\
)\
)\
)
attr di.EG_AZ_tagtemp repeatcmd 300
attr di.EG_AZ_tagtemp repeatsame 3
attr di.EG_AZ_tagtemp room Erdgeschoss->Arbeitszimmer


2018.12.18 16:12:00 1: ERROR evaluating {if(auto eq "auto" and closed eq "closed" and yes eq "yes"){fhem(' set EG_AZ_Thermostat_Clima desired-temp 22 ')}}: Bareword "auto" not allowed while "strict subs" in use at (eval 7272525) line 1.
Bareword "closed" not allowed while "strict subs" in use at (eval 7272525) line 1.
Bareword "yes" not allowed while "strict subs" in use at (eval 7272525) line 1.

2018.12.18 16:12:00 2: di.EG_AZ_tagtemp:  set EG_AZ_Temp 22; IF (auto eq "auto" and closed eq "closed" and yes eq "yes") ( set EG_AZ_Thermostat_Clima desired-temp 22 ) : Bareword "auto" not allowed while "strict subs" in use at (eval 7272525) line 1.
Bareword "closed" not allowed while "strict subs" in use at (eval 7272525) line 1.
Bareword "yes" not allowed while "strict subs" in use at (eval 7272525) line 1.



Zur Fehlerfindung hier die Lists der beteiligten Devices.

list Raumtemp:
Internals:
   CFGFN      /var/fhem/FHEM/dummies.cfg
   NAME       Raumtemp
   NR         137
   STATE      22
   TYPE       dummy
   READINGS:
     2018-12-18 15:07:31   state           22
Attributes:
   room       Zentralsysteme->Heizung


list _Heizungsschalter:
Internals:
   CFGFN      /var/fhem/FHEM/dummies.cfg
   NAME       _Heizungsschalter
   NR         141
   STATE      auto
   TYPE       dummy
   READINGS:
     2018-09-23 15:48:20   state           auto
Attributes:
   room       Zentralsysteme->Heizung
   setList    auto on off
   webCmd     auto:on:off


list EG_AZ_Fenster:
Internals:
   CFGFN      /var/fhem/FHEM/EG_Arbeitszimmer.cfg
   CHANGED   
   DEF        3D6BC8
   IODev      LGW2
   LASTInputDev LGW2
   LGW1_MSGCNT 2
   LGW1_RAWMSG 0500013AECA6103D6BC8F123FF06010000
   LGW1_RSSI  -58
   LGW1_TIME  2018-12-18 17:45:39
   LGW2_MSGCNT 2
   LGW2_RAWMSG 05010133ECA6103D6BC8F123FF06010000
   LGW2_RSSI  -51
   LGW2_TIME  2018-12-18 17:45:39
   MSGCNT     4
   NAME       EG_AZ_Fenster
   NOTIFYDEV  global
   NR         450
   STATE      closed
   TYPE       CUL_HM
   lastMsg    No:EC - t:10 s:3D6BC8 d:F123FF 06010000
   protLastRcv 2018-12-18 17:45:39
   protRcv    2 last_at:2018-12-18 17:45:39
   protSnd    2 last_at:2018-12-18 17:45:39
   protState  CMDs_done
   rssi_at_LGW1 cnt:2 min:-67 max:-58 avg:-62.5 lst:-58
   rssi_at_LGW2 cnt:2 min:-55 max:-51 avg:-53 lst:-51
   READINGS:
     2018-12-18 16:15:14   Activity        alive
     2016-10-11 00:04:27   CommandAccepted yes
     2016-10-11 00:04:25   D-firmware      1.0
     2016-10-11 00:04:25   D-serialNr      MEQ0817235
     2018-10-05 19:28:42   PairedTo        0xF123FF
     2015-12-08 00:55:19   R-cyclicInfoMsg on
     2016-10-11 00:04:28   R-eventDlyTime  1 s
     2015-12-08 00:55:19   R-pairCentral   0xF123FF
     2015-12-08 00:55:19   R-sabotageMsg   on
     2015-12-08 00:55:19   R-sign          on
     2018-10-05 19:28:42   RegL_00.        02:01 09:01 0A:F1 0B:23 0C:FF 10:01 14:06 00:00
     2018-10-05 19:28:42   RegL_01.        08:01 20:9C 21:01 30:06 00:00
     2017-02-04 15:45:17   aesCommToDev    ok
     2016-10-11 00:04:27   aesKeyNbr       02
     2018-12-18 17:45:39   alive           yes
     2018-12-18 17:45:39   battery         ok
     2018-12-18 17:45:39   contact         closed (to vccu)
     2018-10-05 17:29:30   powerOn         2018-10-05 17:29:30
     2018-12-18 17:45:39   recentStateType info
     2018-12-18 17:45:39   sabotageError   off
     2018-12-18 17:45:39   state           closed
     2016-10-02 12:12:57   trigDst_vccu    noConfig
     2017-01-04 10:37:35   trig_aes_vccu   ok:7
     2018-12-16 10:23:44   trigger_cnt     130
   helper:
     HM_CMDNR   236
     mId        00C7
     regLst     ,0,1,4p
     rxType     28
     supp_Pair_Rep 0
     ack:
     expert:
       def        1
       det        0
       raw        1
       tpl        0
     io:
       newChn     +3D6BC8,00,01,00
       nextSend   1545151539.99209
       prefIO     
       rxt        2
       vccu       vccu
       p:
         3D6BC8
         00
         01
         00
     mRssi:
       mNo        EC
       io:
         LGW1:
           -58
           -58
         LGW2:
           -45
           -45
     prt:
       bErr       0
       sProc      0
       sleeping   0
       rspWait:
     q:
       qReqConf   
       qReqStat   
     role:
       chn        1
       dev        1
     rpt:
       IO         LGW1
       flg        A
       ts         1545151539.69212
       ack:
         HASH(0x61a0664)
         EC8002F123FF3D6BC800
     rssi:
       at_LGW1:
         avg        -62.5
         cnt        2
         lst        -58
         max        -58
         min        -67
       at_LGW2:
         avg        -53
         cnt        2
         lst        -51
         max        -51
         min        -55
     shadowReg:
     tmpl:
Attributes:
   DbLogExclude .*
   IODev      LGW1
   IOgrp      vccu
   actCycle   001:05
   actStatus  alive
   autoReadReg 4_reqStatus
   event-on-change-reading state
   expert     2_full
   firmware   1.0
   model      HM-SEC-SCo
   peerIDs    00000000,
   room       Erdgeschoss->Arbeitszimmer,Zentralsysteme->Fenster
   serialNr   MEQ0817235
   subType    threeStateSensor
   userattr   room_map structexclude


list Anwesend:
Internals:
   CFGFN      /var/fhem/FHEM/dummies.cfg
   NAME       Anwesend
   NR         97
   STATE      yes
   TYPE       dummy
   READINGS:
     2018-12-17 11:49:40   state           yes
Attributes:
   event-on-change-reading state
   room       Zentralsysteme->Anwesenheitserk.


Ellert

#1
"[_Heizungsschalter]" weil ...auto eq "auto"... usw.

WhyTea

Danke für die schnelle Antwort!

Ich habe das jetzt versucht umzusetzetzn leider ohne Erfolg. Aber eine etwas andere Fehlermeldung.
defmod di.EG_AZ_tagtemp DOIF (\
([19:08|Mo Di Mi Do Fr] or [07:00|Sa So]) (\
set EG_AZ_Temp [Raumtemp];;\
IF ("[_Heizungsschalter]" eq "auto" and "[EG_AZ_Fenster:state]" eq "closed" and "[Anwesend]" eq "yes") (\
set EG_AZ_Thermostat_Clima desired-temp [Raumtemp]\
)\
)\
)
attr di.EG_AZ_tagtemp DbLogExclude .*
attr di.EG_AZ_tagtemp repeatcmd 300
attr di.EG_AZ_tagtemp repeatsame 3
attr di.EG_AZ_tagtemp room Erdgeschoss->Arbeitszimmer


error condition c01: syntax error at (eval 7319608) line 1, near ") ( "\
syntax error at (eval 7319608) line 1, near ") ( "\



WhyTea

Okay nochmals danke!
Ich habe den fehler gefunden!  ;D

defmod di.EG_AZ_tagtemp DOIF (\
[20:28|Mo Di Mi Do Fr] or [07:00|Sa So]) (\
set EG_AZ_Temp [Raumtemp];;\
IF ("[_Heizungsschalter]" eq "auto" and "[EG_AZ_Fenster:state]" eq "closed" and "[Anwesend]" eq "yes") (\
set EG_AZ_Thermostat_Clima desired-temp [Raumtemp]\
)\
)
attr di.EG_AZ_tagtemp DbLogExclude .*
attr di.EG_AZ_tagtemp repeatcmd 300
attr di.EG_AZ_tagtemp repeatsame 3
attr di.EG_AZ_tagtemp room Erdgeschoss->Arbeitszimmer