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.
"[_Heizungsschalter]"
weil ...auto eq "auto"... usw.
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 ") ( "\
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