Es geht mir darum, wie ich den Wert von "desired-temp" meines Thermostates HM-TC-IT-WM-W-EU ermitteln und möglicherweise neu setzen kann.
Es gibt für mich keine logische Erklärung, ob ich den Wert von desired-temp über die oberste Ebene (Heizung) oder den Kanal Heizung_Climate bekomme.
Anscheinend geht es über Heizung_Climate, so mein Test, ich bin mir aber nicht sicher und brauche eine Erklärung für weitere Arbeiten.
Sowohl Heizung, als auch Heizung_Climate hat das reading desired-temp, das verunsichert mich.
Mein Code lautet prinzipiell:
define Vaga_HeizungNachtabsenkung at *23:00:00 {\
if(ReadingsVal('Heizung_climate', 'desired-temp', 0) > 15.0) {\
fhem("set Heizung_climate desired-temp 15.0")\
}\
}
Attr Vaga_HeizungNachtabsenkung room F-Heizung
Attr Vaga_HeizungNachtabsenkung alias Nachtabsenkung Fussbodenheizung um 23:00 Uhr
Die list lauten:
t
Internals:
DEF 6639D902
FUUID 5e399c4e-f33f-813e-7122-7d93d62da1af77ff
NAME Heizung_Climate
NR 88
NTFY_ORDER 48-Heizung_Climate
STATE T: 19.7 desired: 15.0
TYPE CUL_HM
chanNo 02
device Heizung
disableNotifyFn 1
READINGS:
2022-05-29 23:08:50 CommandAccepted yes
2020-02-04 17:33:43 R-dayTemp 21 C
2020-02-04 17:33:43 R-daylightSaveTime on
2020-02-04 17:33:43 R-heatCool heating
2020-02-04 17:33:43 R-modePrioManu all
2020-02-04 17:33:43 R-modePrioParty all
2020-02-04 17:33:43 R-nightTemp 17 C
2020-02-04 17:33:43 R-noMinMax4Manu off
2020-02-04 17:33:43 R-sendWeatherData on
2020-02-04 17:33:43 R-showHumidity temp
2020-02-04 17:33:43 R-showInfo time
2020-02-04 17:33:43 R-showSetTemp actTemp
2020-02-04 17:33:39 R-sign off
2020-02-04 17:33:43 R-tempOffset 0.0K
2020-02-04 17:33:43 R-weekPrgSel prog1
2020-02-04 17:33:43 R-winOpnBoost off
2022-05-26 15:30:30 R_P1_0_tempListSat 00:05 15.0 02:00 16.0 05:00 18.0 06:00 18.0 06:30 18.5 07:15 19.5 24:00 17.0
2022-05-26 15:30:30 R_P1_1_tempListSun 00:05 15.0 02:00 16.0 05:00 18.0 06:00 18.0 06:30 18.5 07:15 19.5 24:00 17.0
2022-05-26 15:30:30 R_P1_2_tempListMon 00:05 15.0 02:00 16.0 05:00 18.0 06:00 18.0 06:30 18.5 07:15 19.5 24:00 17.0
2022-05-26 15:30:30 R_P1_3_tempListTue 00:05 15.0 02:00 16.0 05:00 18.0 06:00 18.0 06:30 18.5 07:15 19.5 24:00 17.0
2022-05-26 15:30:30 R_P1_4_tempListWed 00:05 15.0 02:00 16.0 05:00 18.0 06:00 18.0 06:30 18.5 07:15 19.5 24:00 17.0
2022-05-26 15:30:30 R_P1_5_tempListThu 00:05 15.0 02:00 16.0 05:00 18.0 06:00 18.0 06:30 18.5 07:15 19.5 24:00 17.0
2022-05-26 15:30:30 R_P1_6_tempListFri 00:05 15.0 02:00 16.0 05:00 18.0 06:00 18.0 06:30 18.5 07:15 19.5 24:00 17.0
2022-05-26 15:30:30 R_P1_tempList_State verified
2022-05-26 15:30:34 R_P2_0_tempListSat 24:00 17.0
2022-05-26 15:30:34 R_P2_1_tempListSun 24:00 17.0
2022-05-26 15:30:34 R_P2_2_tempListMon 24:00 17.0
2022-05-26 15:30:34 R_P2_3_tempListTue 24:00 17.0
2022-05-26 15:30:34 R_P2_4_tempListWed 24:00 17.0
2022-05-26 15:30:34 R_P2_5_tempListThu 24:00 17.0
2022-05-26 15:30:34 R_P2_6_tempListFri 24:00 17.0
2022-05-26 15:30:34 R_P2_tempList_State verified
2022-05-26 15:30:38 R_P3_0_tempListSat 24:00 17.0
2022-05-26 15:30:38 R_P3_1_tempListSun 24:00 17.0
2022-05-26 15:30:38 R_P3_2_tempListMon 24:00 17.0
2022-05-26 15:30:38 R_P3_3_tempListTue 24:00 17.0
2022-05-26 15:30:38 R_P3_4_tempListWed 24:00 17.0
2022-05-26 15:30:38 R_P3_5_tempListThu 24:00 17.0
2022-05-26 15:30:38 R_P3_6_tempListFri 24:00 17.0
2022-05-26 15:30:38 R_P3_tempList_State verified
2022-05-26 15:30:26 RegL_01. 00:00 08:00
2022-05-26 15:30:30 RegL_07. 00:00 01:2A 02:22 03:09 04:3D 05:00 06:00 07:00 08:00 09:87 0A:30 0B:00 0C:00 0D:00 0E:01 0F:04 10:00 11:00 12:09 13:00 14:3C 15:01 16:40 17:18 18:48 19:3C 1A:48 1B:48 1C:4A 1D:4E 1E:4E 1F:57 20:45 21:20 22:45 23:20 24:45 25:20 26:45 27:20 28:45 29:20 2A:45 2B:20 2C:45 2D:20 2E:3C 2F:01 30:40 31:18 32:48 33:3C 34:48 35:48 36:4A 37:4E 38:4E 39:57 3A:45 3B:20 3C:45 3D:20 3E:45 3F:20 40:45 41:20 42:45 43:20 44:45 45:20 46:45 47:20 48:3C 49:01 4A:40 4B:18 4C:48 4D:3C 4E:48 4F:48 50:4A 51:4E 52:4E 53:57 54:45 55:20 56:45 57:20 58:45 59:20 5A:45 5B:20 5C:45 5D:20 5E:45 5F:20 60:45 61:20 62:3C 63:01 64:40 65:18 66:48 67:3C 68:48 69:48 6A:4A 6B:4E 6C:4E 6D:57 6E:45 6F:20 70:45 71:20 72:45 73:20 74:45 75:20 76:45 77:20 78:45 79:20 7A:45 7B:20 7C:3C 7D:01 7E:40 7F:18 80:48 81:3C 82:48 83:48 84:4A 85:4E 86:4E 87:57 88:45 89:20 8A:45 8B:20 8C:45 8D:20 8E:45 8F:20 90:45 91:20 92:45 93:20 94:45 95:20 96:3C 97:01 98:40 99:18 9A:48 9B:3C 9C:48 9D:48 9E:4A 9F:4E A0:4E A1:57 A2:45 A3:20 A4:45 A5:20 A6:45 A7:20 A8:45 A9:20 AA:45 AB:20 AC:45 AD:20 AE:45 AF:20 B0:3C B1:01 B2:40 B3:18 B4:48 B5:3C B6:48 B7:48 B8:4A B9:4E BA:4E BB:57 BC:45 BD:20 BE:45 BF:20 C0:45 C1:20 C2:45 C3:20 C4:45 C5:20 C6:45 C7:20 C8:45 C9:20 CA:00 CB:00 CC:00 CD:00 CE:00 CF:00
2022-05-26 15:30:34 RegL_08. 00:00 01:00 02:00 03:00 04:00 05:00 06:00 07:00 08:00 09:00 0A:00 0B:00 0C:00 0D:00 0E:00 0F:00 10:00 11:00 12:00 13:00 14:45 15:20 16:45 17:20 18:45 19:20 1A:45 1B:20 1C:45 1D:20 1E:45 1F:20 20:45 21:20 22:45 23:20 24:45 25:20 26:45 27:20 28:45 29:20 2A:45 2B:20 2C:45 2D:20 2E:45 2F:20 30:45 31:20 32:45 33:20 34:45 35:20 36:45 37:20 38:45 39:20 3A:45 3B:20 3C:45 3D:20 3E:45 3F:20 40:45 41:20 42:45 43:20 44:45 45:20 46:45 47:20 48:45 49:20 4A:45 4B:20 4C:45 4D:20 4E:45 4F:20 50:45 51:20 52:45 53:20 54:45 55:20 56:45 57:20 58:45 59:20 5A:45 5B:20 5C:45 5D:20 5E:45 5F:20 60:45 61:20 62:45 63:20 64:45 65:20 66:45 67:20 68:45 69:20 6A:45 6B:20 6C:45 6D:20 6E:45 6F:20 70:45 71:20 72:45 73:20 74:45 75:20 76:45 77:20 78:45 79:20 7A:45 7B:20 7C:45 7D:20 7E:45 7F:20 80:45 81:20 82:45 83:20 84:45 85:20 86:45 87:20 88:45 89:20 8A:45 8B:20 8C:45 8D:20 8E:45 8F:20 90:45 91:20 92:45 93:20 94:45 95:20 96:45 97:20 98:45 99:20 9A:45 9B:20 9C:45 9D:20 9E:45 9F:20 A0:45 A1:20 A2:45 A3:20 A4:45 A5:20 A6:45 A7:20 A8:45 A9:20 AA:45 AB:20 AC:45 AD:20 AE:45 AF:20 B0:45 B1:20 B2:45 B3:20 B4:45 B5:20 B6:45 B7:20 B8:45 B9:20 BA:45 BB:20 BC:45 BD:20 BE:45 BF:20 C0:45 C1:20 C2:45 C3:20 C4:45 C5:20 C6:45 C7:20 C8:45 C9:20 CA:00 CB:00 CC:00 CD:00 CE:00 CF:00
2022-05-26 15:30:38 RegL_09. 00:00 01:00 02:00 03:00 04:00 05:00 06:00 07:00 08:00 09:00 0A:00 0B:00 0C:00 0D:00 0E:00 0F:00 10:00 11:00 12:00 13:00 14:45 15:20 16:45 17:20 18:45 19:20 1A:45 1B:20 1C:45 1D:20 1E:45 1F:20 20:45 21:20 22:45 23:20 24:45 25:20 26:45 27:20 28:45 29:20 2A:45 2B:20 2C:45 2D:20 2E:45 2F:20 30:45 31:20 32:45 33:20 34:45 35:20 36:45 37:20 38:45 39:20 3A:45 3B:20 3C:45 3D:20 3E:45 3F:20 40:45 41:20 42:45 43:20 44:45 45:20 46:45 47:20 48:45 49:20 4A:45 4B:20 4C:45 4D:20 4E:45 4F:20 50:45 51:20 52:45 53:20 54:45 55:20 56:45 57:20 58:45 59:20 5A:45 5B:20 5C:45 5D:20 5E:45 5F:20 60:45 61:20 62:45 63:20 64:45 65:20 66:45 67:20 68:45 69:20 6A:45 6B:20 6C:45 6D:20 6E:45 6F:20 70:45 71:20 72:45 73:20 74:45 75:20 76:45 77:20 78:45 79:20 7A:45 7B:20 7C:45 7D:20 7E:45 7F:20 80:45 81:20 82:45 83:20 84:45 85:20 86:45 87:20 88:45 89:20 8A:45 8B:20 8C:45 8D:20 8E:45 8F:20 90:45 91:20 92:45 93:20 94:45 95:20 96:45 97:20 98:45 99:20 9A:45 9B:20 9C:45 9D:20 9E:45 9F:20 A0:45 A1:20 A2:45 A3:20 A4:45 A5:20 A6:45 A7:20 A8:45 A9:20 AA:45 AB:20 AC:45 AD:20 AE:45 AF:20 B0:45 B1:20 B2:45 B3:20 B4:45 B5:20 B6:45 B7:20 B8:45 B9:20 BA:45 BB:20 BC:45 BD:20 BE:45 BF:20 C0:45 C1:20 C2:45 C3:20 C4:45 C5:20 C6:45 C7:20 C8:45 C9:20 CA:00 CB:00 CC:00 CD:00 CE:00 CF:00
2022-05-29 23:21:41 boostTime -
2022-05-26 15:31:40 cfgState TempChk
2022-05-29 23:21:41 commReporting off
2022-05-29 23:08:50 commState CMDs_done
2022-05-29 23:21:41 controlMode manual
2022-05-29 23:24:19 desired-temp 15.0
2022-05-29 23:24:19 humidity 45
2022-05-29 23:24:19 measured-temp 19.7
2022-05-29 23:08:50 recentStateType ack
2022-05-29 23:24:19 state T: 19.7 desired: 15.0
2022-05-29 23:21:41 winOpenReporting off
helper:
peerFriend peerRtTc
peerIDsRaw ,00000000
peerIDsState complete
peerOpt p:thermostat
regLst 1,7,8,9
cfgChk:
idTp00 file: ./tempList.cfg error:Can't open ./tempList.cfg: No such file or directory
cmds:
TmplKey :no:1653556566.42215
TmplTs 1653556566.42215
cmdKey 1:0:0::Heizung:00AD:02:
cmdLst:
clear [({msgErrors}|msgEvents|rssi|attack|trigger|register|oldRegs|readings|all)]
controlManu (on|off|5.0..30.0;0.5)
controlMode (auto|manual|boost|day|night)
controlParty -temp- -startDate- -startTime- -endDate- -endTime-
desired-temp (on|off|5.0..30.0;0.5)
getConfig noArg
getRegRaw (List0|List1|List2|List3|List4|List5|List6|List7) [-peerChn-]
inhibit [(on|{off})]
peerBulk -peer1,peer2,...- [({set}|unset)]
peerChan -btnNumber- -actChn- [({single})] [({set}|unset)] [(actor|remote|{both})]
regBulk -list-.-peerChn- -addr1:data1- [-addr2:data2-]...
regSet [(prep|{exec})] -regName- -value- [-peerChn-]
sign [(on|{off})]
tempListFri [(prep|{exec})] [({p1}|p2|p3)] -HH:MM- -temp- [...]
tempListMon [(prep|{exec})] [({p1}|p2|p3)] -HH:MM- -temp- [...]
tempListSat [(prep|{exec})] [({p1}|p2|p3)] -HH:MM- -temp- [...]
tempListSun [(prep|{exec})] [({p1}|p2|p3)] -HH:MM- -temp- [...]
tempListThu [(prep|{exec})] [({p1}|p2|p3)] -HH:MM- -temp- [...]
tempListTmpl [({verify}|restore)] [[-file-:]-templateName-]
tempListTue [(prep|{exec})] [({p1}|p2|p3)] -HH:MM- -temp- [...]
tempListWed [(prep|{exec})] [({p1}|p2|p3)] -HH:MM- -temp- [...]
tempTmplSet -tempTmpl-
tplDel -tplDel-
tplSet_0 -tplChan-
lst:
condition slider,0,1,255
peer
peerOpt
tplChan
tplDel
tplPeer
rtrvLst:
cmdList [({short}|long)]
deviceInfo [({short}|long)]
list [({normal}|full)]
param -param-
reg -addr- -list- [-peerChn-]
regList noArg
regTable noArg
regVal -addr- -list- [-peerChn-]
saveConfig [-filename-]
tplInfo noArg
expert:
def 1
det 0
raw 1
tpl 0
peerIDsH:
00000000 broadcast
regCollect:
role:
chn 1
shRegR:
07 00
shadowReg:
tmpl:
Attributes:
DbLogExclude .*
alexaName Boden
alias Boden
genericDeviceType thermostat
model HM-TC-IT-WM-W-EU
peerIDs 00000000
nternals:
DEF 6639D9
FUUID 5e399c4e-f33f-813e-45d9-d845626855b02f1e
IODev myHmUART
LASTInputDev myHmUART
MSGCNT 6275
NAME Heizung
NR 85
NTFY_ORDER 48-Heizung
STATE CMDs_done
TYPE CUL_HM
channel_01 Heizung_Weather
channel_02 Heizung_Climate
channel_03 Heizung_WindowRec
channel_06 Heizung_remote
channel_07 Heizung_SwitchTr
disableNotifyFn 1
lastMsg No:B1 - t:70 s:6639D9 d:000000 00C42D
myHmUART_MSGCNT 6275
myHmUART_RAWMSG 0500002DB184706639D900000000C42D
myHmUART_RSSI -45
myHmUART_TIME 2022-05-29 23:31:38
protLastRcv 2022-05-29 23:31:38
protRcv 6275 last_at:2022-05-29 23:31:38
protSnd 80 last_at:2022-05-29 23:08:50
protSndB 8 last_at:2022-05-29 23:08:48
protState CMDs_done
rssi_at_myHmUART cnt:6275 min:-61 max:-36 avg:-43.47 lst:-45
rssi_myHmUART cnt:14 min:-50 max:-38 avg:-41.14 lst:-41
READINGS:
2022-05-26 11:26:06 Activity alive
2022-05-29 23:08:49 CommandAccepted yes
2020-02-04 17:33:36 D-firmware 1.3
2020-02-04 17:33:36 D-serialNr OEQ1992932
2022-05-29 23:08:48 IODev myHmUART
2022-05-26 15:30:25 PairedTo 0x121059
2020-02-04 17:33:37 R-burstRx on
2020-02-04 17:33:37 R-cyclicInfoMsg on
2020-02-04 17:33:37 R-cyclicInfoMsgDis 0
2020-02-04 17:33:37 R-pairCentral 0x121059
2022-05-26 15:30:25 RegL_00. 00:00 01:01 02:01 09:01 0A:12 0B:10 0C:59 0F:00 11:00 12:16 16:00 18:00 19:00 1A:00
2022-05-26 21:52:20 RegL_07.
2022-05-29 23:27:03 battery ok
2022-05-29 23:27:03 batteryLevel 3
2022-05-26 15:31:40 cfgState ok
2022-05-29 23:08:50 commState CMDs_done
2022-05-29 23:27:03 desired-temp 15.0
2022-05-29 23:27:03 measured-temp 19.6
2021-07-13 15:45:17 powerOn 2021-07-13 15:45:17
2021-07-13 15:45:17 recentStateType info
2022-05-29 23:08:50 state CMDs_done
2021-07-18 10:42:01 time-request -
helper:
HM_CMDNR 177
PONtest 1
cSnd 111210596639D986041E,111210596639D986021E
cfgStateUpdt 0
lastMsgTm 1653859898.56467
mId 00AD
peerFriend -
peerOpt -:thermostat
regLst 0
rxType 6
supp_Pair_Rep 0
cmds:
TmplKey :no:1653571892.1237
TmplTs 1653571892.1237
cmdKey 0:1:0::Heizung:00AD:01:
cmdLst:
assignHmKey noArg
clear [({msgErrors}|msgEvents|rssi|attack|trigger|register|oldRegs|readings|all)]
deviceRename -newName-
fwUpdate -filename- [-bootTime-]
getConfig noArg
getDevInfo noArg
getRegRaw (List0|List1|List2|List3|List4|List5|List6|List7) [-peerChn-]
inhibit [(on|{off})]
raw -data- [...]
regBulk -list-.-peerChn- -addr1:data1- [-addr2:data2-]...
regSet [(prep|{exec})] -regName- -value- [-peerChn-]
reset noArg
sysTime noArg
tplDel -tplDel-
tplSet_0 -tplChan-
unpair noArg
lst:
condition slider,0,1,255
peer
peerOpt
tplChan
tplDel
tplPeer
rtrvLst:
cmdList [({short}|long)]
deviceInfo [({short}|long)]
list [({normal}|full)]
param -param-
reg -addr- -list- [-peerChn-]
regList noArg
regTable noArg
regVal -addr- -list- [-peerChn-]
saveConfig [-filename-]
tplInfo noArg
expert:
def 1
det 0
raw 1
tpl 0
io:
flgs 0
newChn +6639D9,00,00,00
nextSend 1653859898.65995
rxt 0
vccu virtualCCU
p:
6639D9
00
00
00
prefIO:
myHmUART
mRssi:
mNo B1
io:
myHmUART:
-37
-37
peerIDsH:
prt:
awake 0
bErr 0
sProc 0
tryMsg:
q:
qReqConf
qReqStat
regCollect:
role:
dev 1
prs 1
rssi:
at_myHmUART:
avg -43.4790438247013
cnt 6275
lst -45
max -36
min -61
myHmUART:
avg -41.1428571428571
cnt 14
lst -41
max -38
min -50
shRegW:
07 02
shadowReg:
tmpl:
Attributes:
DbLogExclude .*
IOgrp virtualCCU:myHmUART
actCycle 000:10
actStatus alive
autoReadReg 4_reqStatus
expert defReg,rawReg
firmware 1.3
model HM-TC-IT-WM-W-EU
msgRepeat 1
room CUL_HM,F-Heizung
serialNr OEQ1992932
subType thermostat
webCmd getConfig:clear msgEvents
Das ist normal. Bei dem einen Device kannst du die desired-Temp setzen bei dem anderen nicht, da wird sie nur angezeigt. Was geht und was nicht, kannst du bereits an der Auswahl des set-Befehls im jeweiligen Device erkennen.
Dann hier eben nochmal: das Setzen geht beim WDT über _Climate (beim HKT über _Clima ) ;)
Dass es im Hauptdevice (zusätzlich) angezeigt wird, macht das Modul. Es "holt" sich den Wert aus dem Kanal...
Wie Damian geschrieben hat: dort wo in FhemWeb "angezeigt" wird, dass du etwas per Drop/Klick setzen kannst, da kannst du was setzen.
Sonst eben nicht!
(maximal eben zusätzlich sehen)
D.h. abfragen geht überall wo es ein entspr. Reading (oder Attribut oder Internal) gibt...
...setzen wo der "Setter" implementiert ist (und das legt der Modulauthor fest)...
EDIT: ich würde, wo es um Zahlen geht, ReadingsNum statt ReadingsVal nehmen... (hier verm. "egal" weil nur die Zahl im Reading steht aber wenn du mal Devices mit Einheit im Reading hast, dann bekommst du mit ReadingsNum nur den Zahlenwert 8) )
Gruß, Joachim
Hallo Joachim und Damian,
verstanden, hab es jetzt so umgesetzt. Es ist auch mi eurer Erklärung logisch.
Ich fahre jetzt heute Abend noch den Test und stelle es anschliessend auf "gelöst".
Vielen Dank