Hi,
ich habe mir meine TempList im hm gesichert und geändert und möchte diese nun auf die Geräte bringen. Normalerweise mache ich dazu ein set hm templist restore. Aber ein templist verify nachdem die cmds processed sind, liefert mir ein templist mismatch.
Wieso?
Viele Grüße
beste Antwort ever. Vielen Dank.
Bitte schön.
Wenn Du eine vernünftige Antwort möchtest, dann poste mal die Befehle, die Du benutzt hast, die entspr. Logauszüge, "list" des Devices, Templist Datei, genaue und vollständige Fehlermeldungen, Ergebnisse aus get Befehle vom HMInfo Modul, usw.
Irgenwas womit man anfangen kann, das Problem zu analysieren. Wenn man zum Arzt geht, und dem Arzt nur sagt "ich bin krank, wieso?", kriegt man selten die passende Medikamente
vergiss es einfach. Ich habe alles geschrieben was ich getan habe und auch, welches Ergebnis ich erwartet und welches ich erhalten habe:
set hm templist save
editieren der templist.cfg in fhem (zum Test nur eine Temperatur in einer entity)
set hm templist restore
... warten auf cmds done
... keine Fehler im log
set hm templist verify
Ergebnis: templist mismatch
Das bedeutet für mich: Das Ergebnis ist nicht das, was ich erwartet habe.
ZitatIch habe alles geschrieben was ich getan habe und auch, welches Ergebnis ich erwartet und welches ich erhalten habe:
Ja, schon klar. Die Wiederholung davon ist auch nicht, was ich für Zusatzinformation verlangt habe.
Jetzt hab ich meine Kristallkugel vom Dachboden geholt. Lass mich mal raten...
1/ templist mismatch liefert auch was das mismatch ist. Da du immer noch nicht die vollständige Fehlermeldung lieferst, gehe ich davon aus, das es ein mismatch in den Temperaturen ist: etwas wie
templist mismatch
HMThermostat :R_P1_0_tempListSat mismatch 09:00 17.0 21:30 21.0 24:00 17.0 ne 09:00 17.0 21:30 21.0 24:00 17.0 ##
2/ "... keine Fehler im log". Im Log gibt es nicht nur Fehler, sondern beim richtigen verbose Level auch was tatsächlich gemacht worden ist
3/ mit einem "list" vom HMThermostat hätte man sehen können, wann die
reference tempListen zuletzt aktualisiert worden sind. Man hätte auch sehen können, ob autoReadReg gesetzt ist, welche tempList Templates tatsätzlich benutzt werden, usw.
2019-01-17 12:04:14 R_P1_0_tempListSat 02:00 21.0 08:00 17.0 24:00 21.0
2019-01-17 12:04:14 R_P1_1_tempListSun 02:00 21.0 08:00 17.0 24:00 21.0
2019-01-17 12:04:14 R_P1_2_tempListMon 01:30 21.0 05:30 17.0 24:00 21.0
2019-01-17 12:04:14 R_P1_3_tempListTue 01:30 21.0 05:30 17.0 24:00 21.0
2019-01-17 12:04:14 R_P1_4_tempListWed 01:30 21.0 05:30 17.0 24:00 21.0
2019-01-17 12:04:14 R_P1_5_tempListThu 01:30 21.0 05:30 17.0 24:00 21.0
2019-01-17 12:04:14 R_P1_6_tempListFri 01:30 21.0 05:30 17.0 24:00 21.0
2019-01-17 12:04:14 R_P1_tempList_State verified
Aber gut... blind geraten: Du hast im Verlauf ein paar "set HMThermostat getConfig" vergessen (entweder vor dem save oder nach dem restore) und deswegen stimmt(e) die
reference tempList nicht mit der
active tempList überein. Die active wurde geändert und übertragen, aber das sieht das "verify" nicht, da die "reference" nicht neu gezogen wurde.
Wenn das nicht das Problem ist, und Du weiter geholfen werden möchstest, dann liefer mal bitte die angeforderte Informationen. Meine Glasskugel ist jetzt überfordert.
Wenn nach einer Änderung das reading auf templist verified steht ist das Device zurückgelesen . Ein mismatch ist dann echt. Wenn noch nicht verified dann warten oder getconfig. Hängt von den Strings ab.
Also, hier das list vom Thermostat
Internals:
CUL_1_MSGCNT 5962
CUL_1_RAWMSG A0EC7801051C3207533470208000000::-51.5:CUL_1
CUL_1_RSSI -51.5
CUL_1_TIME 2019-01-19 18:57:29
DEF 51C320
HMUART_MSGCNT 5901
HMUART_RAWMSG 05000038C7801051C3207533470208000000
HMUART_RSSI -56
HMUART_TIME 2019-01-19 18:57:28
IODev CUL_1
LASTInputDev CUL_1
MSGCNT 11863
NAME WZ.Heizung
NOTIFYDEV global
NR 107
NTFY_ORDER 50-WZ.Heizung
STATE CMDs_done
TYPE CUL_HM
channel_01 WZ.Heizung_Weather
channel_02 WZ.Heizung_Climate
channel_03 WZ.Heizung_WindowRec
channel_04 WZ.Heizung_Clima
channel_05 WZ.Heizung_ClimaTeam
channel_06 WZ.Heizung_remote
lastMsg No:C7 - t:10 s:51C320 d:753347 0208000000
protLastRcv 2019-01-19 18:57:28
protRcv 5964 last_at:2019-01-19 18:57:28
protResnd 12 last_at:2019-01-19 18:55:08
protSnd 408 last_at:2019-01-19 18:57:28
protSndB 2 last_at:2019-01-16 22:25:42
protState CMDs_done
rssi_at_CUL_1 cnt:5962 min:-82.5 max:-49 avg:-57.07 lst:-51.5
rssi_at_HMUART cnt:5901 min:-91 max:-51 avg:-59.23 lst:-56
Helper:
DBLOG:
actuator:
DbLog:
TIME 1547920641.94428
VALUE 11
battery:
DbLog:
TIME 1547920641.94428
VALUE ok
batteryLevel:
DbLog:
TIME 1547920641.94428
VALUE 2.5
desired-temp:
DbLog:
TIME 1547920641.94428
VALUE 20.0
measured-temp:
DbLog:
TIME 1547920641.94428
VALUE 21.4
motorErr:
DbLog:
TIME 1547920641.94428
VALUE ok
READINGS:
2019-01-16 22:40:35 Activity alive
2019-01-19 18:57:22 CommandAccepted yes
2019-01-16 22:40:35 D-firmware 1.4
2019-01-16 22:40:35 D-serialNr NEQ1637827
2019-01-16 22:40:36 PairedTo 0x753347
2017-04-27 18:15:46 R-backOnTime 10 s
2017-04-27 18:15:46 R-btnLock off
2017-04-27 18:15:46 R-burstRx on
2017-04-27 18:15:46 R-cyclicInfoMsg on
2017-04-27 18:15:46 R-cyclicInfoMsgDis 0
2017-04-27 18:15:46 R-globalBtnLock off
2017-04-27 18:15:46 R-localResDis off
2017-04-27 18:15:46 R-lowBatLimitRT 2.1 V
2017-04-27 18:15:46 R-modusBtnLock off
2017-04-27 18:15:46 R-pairCentral 0x753347
2019-01-19 18:57:21 actuator 11
2019-01-19 18:57:21 battery ok
2019-01-19 18:57:21 batteryLevel 2.5
2019-01-19 18:57:21 desired-temp 20.0
2019-01-19 18:57:21 measured-temp 21.4
2019-01-19 18:57:21 motorErr ok
2017-12-13 20:22:56 sabotageAttackId_ErrIoId_58494D cnt:1
2019-01-19 18:57:28 state CMDs_done
2019-01-19 12:54:39 time-request -
helper:
HM_CMDNR 199
PONtest 1
cSnd 0175334751C3200603,0175334751C32006040000000001
cfgChkResult No regs found for:
WZ.Heizung type:thermostat -
list:peer register :value
0: backOnTime :10 s
0: btnLock :off
0: burstRx :on
0: cyclicInfoMsg :on
0: cyclicInfoMsgDis :0
0: globalBtnLock :off
0: localResDis :off
0: lowBatLimitRT :2.1 V
0: modusBtnLock :off
0: pairCentral :0x753347
mId 0095
regLst ,0
rxType 140
supp_Pair_Rep 0
ack:
expert:
def 1
det 1
raw 0
tpl 0
io:
newChn +51C320,00,00,00
nextSend 1547920649.12092
rxt 2
vccu VCCU
p:
51C320
00
00
00
prefIO:
CUL_1
mRssi:
mNo C7
io:
CUL_1:
-45.5
-45.5
HMUART:
-56
-56
prt:
awake 0
bErr 0
brstWu 1
sProc 0
rspWait:
q:
qReqConf
qReqStat
regCollect:
role:
dev 1
prs 1
rssi:
at_CUL_1:
avg -57.0788326065078
cnt 5962
lst -51.5
max -49
min -82.5
at_HMUART:
avg -59.2372479240807
cnt 5901
lst -56
max -51
min -91
shRegW:
07 04
shadowReg:
tmpl:
nb:
cnt 1
Attributes:
DbLogExclude .*
DbLogInclude actuator,battery,batteryLevel,desired-temp,measured-temp,motorErr
IODev CUL_1
IOgrp VCCU:CUL_1
actCycle 000:10
actStatus alive
autoReadReg 4_reqStatus
expert 1_allReg
firmware 1.4
model HM-CC-RT-DN
room CUL_HM
serialNr NEQ1637827
subType thermostat
webCmd getConfig:clear msgEvents:burstXmit
Und hier das list vom clima channel
Internals:
DEF 51C32004
IODev
NAME WZ.Heizung_Clima
NOTIFYDEV global
NR 111
NTFY_ORDER 50-WZ.Heizung_Clima
STATE T: 21.4 desired: 20.0 valve: 11
TYPE CUL_HM
chanNo 04
device WZ.Heizung
protState Info_Cleared
READINGS:
2019-01-17 00:50:29 R-boostPeriod 5 min
2019-01-17 00:50:29 R-boostPos 80 %
2019-01-17 00:50:29 R-btnNoBckLight off
2019-01-17 00:50:29 R-dayTemp 21 C
2019-01-17 00:50:29 R-daylightSaveTime on
2019-01-17 00:50:29 R-decalcTime 11:00
2019-01-17 00:50:29 R-decalcWeekday Sat
2019-01-17 00:50:29 R-modePrioManu all
2019-01-17 00:50:29 R-modePrioParty all
2019-01-17 00:50:29 R-nightTemp 17 C
2019-01-17 00:50:29 R-noMinMax4Manu off
2019-01-17 00:50:29 R-regAdaptive offDefault
2019-01-17 00:50:29 R-reguExtI 15
2019-01-17 00:50:29 R-reguExtP 30
2019-01-17 00:50:29 R-reguExtPstart 30
2019-01-17 00:50:29 R-reguIntI 15
2019-01-17 00:50:29 R-reguIntP 30
2019-01-17 00:50:29 R-reguIntPstart 30
2019-01-17 00:50:29 R-showInfo time
2019-01-17 00:50:29 R-showWeekday off
2019-01-17 00:50:25 R-sign off
2019-01-17 00:50:29 R-tempMax 30.5 C
2019-01-17 00:50:29 R-tempMin 4.5 C
2019-01-17 00:50:29 R-tempOffset 0.0K
2019-01-17 00:50:29 R-valveErrPos 15 %
2019-01-17 00:50:29 R-valveMaxPos 100 %
2019-01-17 00:50:29 R-valveOffsetRt 0 %
2019-01-17 00:50:29 R-winOpnBoost off
2019-01-17 00:50:29 R-winOpnDetFall 1.4 K
2019-01-17 00:50:29 R-winOpnMode on
2019-01-17 00:50:29 R-winOpnPeriod 15 min
2019-01-17 00:50:29 R-winOpnTempI 12 C
2019-01-19 18:57:28 R_0_tempListSat 08:00 17.0 11:00 20.0 16:00 17.0 22:00 20.0 24:00 17.0
2019-01-19 18:57:28 R_1_tempListSun 08:00 17.0 11:00 20.0 16:00 17.0 22:00 20.0 24:00 17.0
2019-01-19 18:57:28 R_2_tempListMon 06:00 17.0 09:00 20.0 17:00 17.0 22:00 20.0 24:00 17.0
2019-01-19 18:57:28 R_3_tempListTue 06:00 17.0 09:00 20.0 17:00 17.0 22:00 20.0 24:00 17.0
2019-01-19 18:57:28 R_4_tempListWed 06:00 17.0 09:00 20.0 17:00 17.0 22:00 20.0 24:00 17.0
2019-01-19 18:57:28 R_5_tempListThu 06:00 17.0 09:00 20.0 17:00 17.0 22:00 20.0 24:00 17.0
2019-01-19 18:57:28 R_6_tempListFri 06:00 17.0 09:00 20.0 17:00 17.0 22:00 20.0 24:00 17.0
2019-01-19 18:57:28 R_tempList_State verified
2019-01-19 18:57:21 ValvePosition 11
2019-01-19 18:57:21 boostTime -
2019-01-19 18:57:21 controlMode auto
2019-01-19 18:57:21 desired-temp 20.0
2019-01-19 18:57:28 heatingState HEAT
2019-01-19 18:57:21 measured-temp 21.4
2019-01-19 18:57:21 partyEnd -
2019-01-19 18:57:21 partyStart -
2019-01-19 18:57:21 partyTemp -
2019-01-19 18:57:21 state T: 21.4 desired: 20.0 valve: 11
TEMPLIST:
Fri:
0:
HOUR 06
MINUTE 00
TEMP 17.0
1:
HOUR 09
MINUTE 00
TEMP 20.0
2:
HOUR 17
MINUTE 00
TEMP 17.0
3:
HOUR 22
MINUTE 00
TEMP 20.0
4:
HOUR 24
MINUTE 00
TEMP 17.0
Mon:
0:
HOUR 06
MINUTE 00
TEMP 17.0
1:
HOUR 09
MINUTE 00
TEMP 20.0
2:
HOUR 17
MINUTE 00
TEMP 17.0
3:
HOUR 22
MINUTE 00
TEMP 20.0
4:
HOUR 24
MINUTE 00
TEMP 17.0
Sat:
0:
HOUR 08
MINUTE 00
TEMP 17.0
1:
HOUR 11
MINUTE 00
TEMP 20.0
2:
HOUR 16
MINUTE 00
TEMP 17.0
3:
HOUR 22
MINUTE 00
TEMP 20.0
4:
HOUR 24
MINUTE 00
TEMP 17.0
Sun:
0:
HOUR 08
MINUTE 00
TEMP 17.0
1:
HOUR 11
MINUTE 00
TEMP 20.0
2:
HOUR 16
MINUTE 00
TEMP 17.0
3:
HOUR 22
MINUTE 00
TEMP 20.0
4:
HOUR 24
MINUTE 00
TEMP 17.0
Thu:
0:
HOUR 06
MINUTE 00
TEMP 17.0
1:
HOUR 09
MINUTE 00
TEMP 20.0
2:
HOUR 17
MINUTE 00
TEMP 17.0
3:
HOUR 22
MINUTE 00
TEMP 22.0
4:
HOUR 24
MINUTE 00
TEMP 17.0
Tue:
0:
HOUR 06
MINUTE 00
TEMP 17.0
1:
HOUR 09
MINUTE 00
TEMP 20.0
2:
HOUR 17
MINUTE 00
TEMP 17.0
3:
HOUR 22
MINUTE 00
TEMP 20.0
4:
HOUR 24
MINUTE 00
TEMP 17.0
Wed:
0:
HOUR 06
MINUTE 00
TEMP 17.0
1:
HOUR 09
MINUTE 00
TEMP 20.0
2:
HOUR 17
MINUTE 00
TEMP 17.0
3:
HOUR 22
MINUTE 00
TEMP 20.0
4:
HOUR 24
MINUTE 00
TEMP 17.0
helper:
peerIDsRaw ,00000000
regLst ,1,7
expert:
def 1
det 1
raw 0
tpl 0
prt:
bErr 0
sProc 0
regCollect:
role:
chn 1
shRegR:
07 00
shadowReg:
tmpl:
Attributes:
DbLogExclude .*
alias Wohnzimmer
group Heizung
homebridgeMapping TargetHeatingCoolingState=heatingState,values=OFF:0;HEAT:1;COOL:2;AUTO:3,cmds=OFF:controlManu+off;HEAT:controlMode+boost;AUTO:controlMode+auto;COOL:controlMode+night CurrentHeatingCoolingState=heatingState,values=OFF:0;HEAT:1;COOL:2;AUTO:0
icon hc_wht_regler
model HM-CC-RT-DN
peerIDs 00000000,
room Homekit,Wohnzimmer
userReadings heatingState {(ReadingsVal($NAME,"ValvePosition",0) > 0 || ReadingsVal($NAME,"desired-temp","-") eq "on") ? "HEAT" : ReadingsVal($NAME,"desired-temp","-") eq "off" ? "OFF" : ReadingsVal($NAME,"controlMode","auto") eq "auto" ? "AUTO" : (ReadingsVal($NAME,"measured-temp",20) > ReadingsVal($NAME,"desired-temp",20)) ? "COOL" : "AUTO"}
Im log sehe ich bei einem get config :
2019.01.19 18:33:38 3: CUL_HM set WZ.Heizung_Clima getConfig
bzw.
2019.01.19 18:40:26 3: CUL_HM set WZ.Heizung getConfig
sonst nichts.
set hm templist verify liefert:
fail : WZ.Heizung_Clima for WZ.Heizung_Clima: failed Entries:
WZ.Heizung_Clima :R_5_tempListThu mismatch 06:00 17.0 09:00 20.0 17:00 17.0 22:00 22.0 24:00 17.0 ne 06:00 17.0 09:00 20.0 17:00 17.0 22:00 20.0 24:00 17.0 ##
passed: AZ.Heizung_Clima for AZ.Heizung_Clima
...
Ein configcheck auf dem hm device liefert
configCheck done:
missing register list
WZ.Heizung: .RegL_00.
templist mismatch
WZ.Heizung_Clima: failed Entries:
WZ.Heizung_Clima :R_5_tempListThu mismatch 06:00 17.0 09:00 20.0 17:00 17.0 22:00 22.0 24:00 17.0 ne 06:00 17.0 09:00 20.0 17:00 17.0 22:00 20.0 24:00 17.0 ##
Das "missing register list..." hatte ich noch nicht.
Ich hoffe, das hilft jetzt weiter?
Viele Grüße, Holger
Es sieht im Moment gut aus: active und reference list sollten miteinander stimmen. War es der Fall als du das check nach dem restore gemacht hast? Es ist empfohlen autoReadReg auf 5 zu setzen.
Ich sehe kein attr tempListTmpl im Clima Device - ist das normal?
Jetzt 2 Möglichkeiten:
- entweder machst Du ein restore mit einer anderen Datei als der, von der du denkst, oder Du nutzt mehrere configTempFile. Hier wäre ein "list <HMInfoDevice>" interessant
- oder es gibt ein Problem beim restore selbst: da wäre es interessant, ein verbose 5 auf dem HMinfo Device zu setzen, und dann ein restore zu starten und die enspr. Log zu posten.
So wie ich das verstanden habe, braucht man das Attribut tempListTempl nur dann, wenn man mehrere Templisten auf unterschiedlichen Devices haben möchte. Beim save legt fhem standardmäßig die Datei tempList.cfg an und benutzt diese dann auch für das restore. So war es zumindest noch Anfang 2018.
Hier das list vom hminfo (schon mit verbose = 5)
Internals:
FUUID 5c4375ed-f33f-8879-b9e3-f1e9ad20638b9d57
NAME hm
NR 97
NTFY_ORDER 50-hm
STATE updated:2019-01-13 00:03:34
TYPE HMinfo
Version 01
READINGS:
2017-09-23 22:42:55 CRIT__protocol -
2019-01-13 00:03:34 CRI__protocol -
2019-01-13 00:03:34 C_sumDefined entities:81,device:14,channel:68,virtual:2
2019-01-13 00:03:34 ERR__protocol CmdDel:2,ResndFail:1
2017-04-27 20:08:15 ERR__unreachable 0
2019-01-13 00:03:34 I_actTotal alive:13,dead:0,unkn:0,off:0
2017-04-27 20:08:15 I_autoReadPend 0
2019-01-13 00:03:34 I_rssiMinLevel 59<:0 60>:7 80>:7 99>:0
2019-01-13 00:03:34 I_sum_battery ok:13,
2019-01-13 00:03:34 I_sum_sabotageError off:2,
2019-01-13 00:03:34 W__protocol Resnd:9
helper:
weekplanListDef ./FHEM/tempList.cfg
weekplanListDir ./FHEM/
weekplanList:
AZ.Heizung_Clima
BD.Heizung_Clima
EG.Heizung_Clima
EG.Thermostat_Climate
EZ1.Heizung_Clima
EZ2.Heizung_Clima
LA1.Heizung_Clima
LA2.Heizung_Clima
LU.Heizung_Clima
SZ.Heizung_Clima
WZ.Heizung_Clima
nb:
cnt 0
Attributes:
DbLogExclude .*
configDir FHEM
room CUL_HM
sumERROR battery:ok,sabotageError:off,powerError:ok,overload:off,overheat:off,reduced:off,motorErr:ok,error:none,uncertain:[no|yes],smoke_detect:none,cover:closed
sumStatus battery,sabotageError,powerError,motor
verbose 5
webCmd update:protoEvents short:rssi:peerXref:configCheck:models
Ich habe jetzt nur die tempList.cfg bei WZ.Heizung_Clima geändert und überall bis 22:00 Uhr 22.0 Grad reingeschrieben. Bisher steht im Log folgendes
2019.01.21 18:35:02 3: CUL_HM set AZ.Heizung_Clima tempListSat prep 07:00 16.0 09:00 18.0 17:00 16.0 21:00 18.0 24:00 16.0
2019.01.21 18:35:02 3: CUL_HM set AZ.Heizung_Clima tempListSun prep 07:00 16.0 09:00 18.0 17:00 16.0 21:00 18.0 24:00 16.0
2019.01.21 18:35:02 3: CUL_HM set AZ.Heizung_Clima tempListMon prep 06:00 16.0 09:00 18.0 17:00 16.0 21:00 18.0 24:00 16.0
2019.01.21 18:35:02 3: CUL_HM set AZ.Heizung_Clima tempListTue prep 06:00 16.0 09:00 18.0 17:00 16.0 21:00 18.0 24:00 16.0
2019.01.21 18:35:02 3: CUL_HM set AZ.Heizung_Clima tempListWed prep 06:00 16.0 09:00 18.0 17:00 16.0 21:00 18.0 24:00 16.0
2019.01.21 18:35:02 3: CUL_HM set AZ.Heizung_Clima tempListThu prep 06:00 16.0 09:00 18.0 17:00 16.0 21:00 18.0 24:00 16.0
2019.01.21 18:35:02 3: CUL_HM set AZ.Heizung_Clima tempListFri prep 06:00 16.0 09:00 18.0 17:00 16.0 21:00 18.0 24:00 16.0
2019.01.21 18:35:02 3: CUL_HM set AZ.Heizung_Clima tempListFri exec 06:00 16.0 09:00 18.0 17:00 16.0 21:00 18.0 24:00 16.0
2019.01.21 18:35:02 3: CUL_HM set BD.Heizung_Clima tempListSat prep 08:00 17.0 11:00 20.0 18:00 17.0 23:00 20.0 24:00 17.0
2019.01.21 18:35:02 3: CUL_HM set BD.Heizung_Clima tempListSun prep 08:00 17.0 11:00 20.0 17:00 17.0 23:00 20.0 24:00 17.0
2019.01.21 18:35:02 3: CUL_HM set BD.Heizung_Clima tempListMon prep 06:00 17.0 10:00 20.0 17:00 17.0 22:00 20.0 24:00 17.0
2019.01.21 18:35:02 3: CUL_HM set BD.Heizung_Clima tempListTue prep 06:00 17.0 10:00 20.0 17:00 17.0 22:00 20.0 24:00 17.0
2019.01.21 18:35:02 3: CUL_HM set BD.Heizung_Clima tempListWed prep 06:00 17.0 10:00 20.0 17:00 17.0 22:00 20.0 24:00 17.0
2019.01.21 18:35:02 3: CUL_HM set BD.Heizung_Clima tempListThu prep 06:00 17.0 10:00 20.0 17:00 17.0 22:00 20.0 24:00 17.0
2019.01.21 18:35:02 3: CUL_HM set BD.Heizung_Clima tempListFri prep 06:00 17.0 10:00 20.0 17:00 17.0 22:00 20.0 24:00 17.0
2019.01.21 18:35:02 3: CUL_HM set BD.Heizung_Clima tempListFri exec 06:00 17.0 10:00 20.0 17:00 17.0 22:00 20.0 24:00 17.0
2019.01.21 18:35:02 3: CUL_HM set EG.Heizung_Clima tempListSat prep 24:00 17.0
2019.01.21 18:35:02 3: CUL_HM set EG.Heizung_Clima tempListSun prep 24:00 17.0
2019.01.21 18:35:02 3: CUL_HM set EG.Heizung_Clima tempListMon prep 24:00 17.0
2019.01.21 18:35:02 3: CUL_HM set EG.Heizung_Clima tempListTue prep 24:00 17.0
2019.01.21 18:35:02 3: CUL_HM set EG.Heizung_Clima tempListWed prep 24:00 17.0
2019.01.21 18:35:02 3: CUL_HM set EG.Heizung_Clima tempListThu prep 24:00 17.0
2019.01.21 18:35:02 3: CUL_HM set EG.Heizung_Clima tempListFri prep 24:00 17.0
2019.01.21 18:35:02 3: CUL_HM set EG.Heizung_Clima tempListFri exec 24:00 17.0
2019.01.21 18:35:02 3: CUL_HM set EG.Thermostat_Climate tempListSat prep p1 24:00 17.0
2019.01.21 18:35:02 3: CUL_HM set EG.Thermostat_Climate tempListSun prep p1 24:00 17.0
2019.01.21 18:35:02 3: CUL_HM set EG.Thermostat_Climate tempListMon prep p1 24:00 17.0
2019.01.21 18:35:02 3: CUL_HM set EG.Thermostat_Climate tempListTue prep p1 24:00 17.0
2019.01.21 18:35:02 3: CUL_HM set EG.Thermostat_Climate tempListWed prep p1 24:00 17.0
2019.01.21 18:35:02 3: CUL_HM set EG.Thermostat_Climate tempListThu prep p1 24:00 17.0
2019.01.21 18:35:02 3: CUL_HM set EG.Thermostat_Climate tempListFri prep p1 24:00 17.0
2019.01.21 18:35:02 3: CUL_HM set EG.Thermostat_Climate tempListSat prep p2 24:00 17.0
2019.01.21 18:35:02 3: CUL_HM set EG.Thermostat_Climate tempListSun prep p2 24:00 17.0
2019.01.21 18:35:02 3: CUL_HM set EG.Thermostat_Climate tempListMon prep p2 24:00 17.0
2019.01.21 18:35:02 3: CUL_HM set EG.Thermostat_Climate tempListTue prep p2 24:00 17.0
2019.01.21 18:35:02 3: CUL_HM set EG.Thermostat_Climate tempListWed prep p2 24:00 17.0
2019.01.21 18:35:02 3: CUL_HM set EG.Thermostat_Climate tempListThu prep p2 24:00 17.0
2019.01.21 18:35:02 3: CUL_HM set EG.Thermostat_Climate tempListFri prep p2 24:00 17.0
2019.01.21 18:35:02 3: CUL_HM set EG.Thermostat_Climate tempListSat prep p3 24:00 17.0
2019.01.21 18:35:02 3: CUL_HM set EG.Thermostat_Climate tempListSun prep p3 24:00 17.0
2019.01.21 18:35:02 3: CUL_HM set EG.Thermostat_Climate tempListMon prep p3 24:00 17.0
2019.01.21 18:35:02 3: CUL_HM set EG.Thermostat_Climate tempListTue prep p3 24:00 17.0
2019.01.21 18:35:02 3: CUL_HM set EG.Thermostat_Climate tempListWed prep p3 24:00 17.0
2019.01.21 18:35:02 3: CUL_HM set EG.Thermostat_Climate tempListThu prep p3 24:00 17.0
2019.01.21 18:35:02 3: CUL_HM set EG.Thermostat_Climate tempListFri prep p3 24:00 17.0
2019.01.21 18:35:02 3: CUL_HM set EG.Thermostat_Climate tempListFri exec p3 24:00 17.0
2019.01.21 18:35:02 3: CUL_HM set EZ1.Heizung_Clima tempListSat prep 08:00 17.0 11:00 20.0 16:00 17.0 22:00 20.0 24:00 17.0
2019.01.21 18:35:02 3: CUL_HM set EZ1.Heizung_Clima tempListSun prep 08:00 17.0 11:00 20.0 16:00 17.0 22:00 20.0 24:00 17.0
2019.01.21 18:35:02 3: CUL_HM set EZ1.Heizung_Clima tempListMon prep 06:00 17.0 09:00 20.0 17:00 17.0 22:00 20.0 24:00 17.0
2019.01.21 18:35:02 3: CUL_HM set EZ1.Heizung_Clima tempListTue prep 06:00 17.0 09:00 20.0 17:00 17.0 22:00 20.0 24:00 17.0
2019.01.21 18:35:02 3: CUL_HM set EZ1.Heizung_Clima tempListWed prep 06:00 17.0 09:00 20.0 17:00 17.0 22:00 20.0 24:00 17.0
2019.01.21 18:35:02 3: CUL_HM set EZ1.Heizung_Clima tempListThu prep 06:00 17.0 09:00 20.0 17:00 17.0 22:00 20.0 24:00 17.0
2019.01.21 18:35:02 3: CUL_HM set EZ1.Heizung_Clima tempListFri prep 06:00 17.0 09:00 20.0 17:00 17.0 22:00 20.0 24:00 17.0
2019.01.21 18:35:02 3: CUL_HM set EZ1.Heizung_Clima tempListFri exec 06:00 17.0 09:00 20.0 17:00 17.0 22:00 20.0 24:00 17.0
2019.01.21 18:35:02 3: CUL_HM set EZ2.Heizung_Clima tempListSat prep 08:00 17.0 11:00 20.0 16:00 17.0 22:00 20.0 24:00 17.0
2019.01.21 18:35:02 3: CUL_HM set EZ2.Heizung_Clima tempListSun prep 08:00 17.0 11:00 20.0 16:00 17.0 22:00 20.0 24:00 17.0
2019.01.21 18:35:02 3: CUL_HM set EZ2.Heizung_Clima tempListMon prep 06:00 17.0 09:00 20.0 17:00 17.0 22:00 20.0 24:00 17.0
2019.01.21 18:35:02 3: CUL_HM set EZ2.Heizung_Clima tempListTue prep 06:00 17.0 09:00 20.0 17:00 17.0 22:00 20.0 24:00 17.0
2019.01.21 18:35:02 3: CUL_HM set EZ2.Heizung_Clima tempListWed prep 06:00 17.0 09:00 20.0 17:00 17.0 22:00 20.0 24:00 17.0
2019.01.21 18:35:02 3: CUL_HM set EZ2.Heizung_Clima tempListThu prep 06:00 17.0 09:00 20.0 17:00 17.0 22:00 20.0 24:00 17.0
2019.01.21 18:35:02 3: CUL_HM set EZ2.Heizung_Clima tempListFri prep 06:00 17.0 09:00 20.0 17:00 17.0 22:00 20.0 24:00 17.0
2019.01.21 18:35:02 3: CUL_HM set EZ2.Heizung_Clima tempListFri exec 06:00 17.0 09:00 20.0 17:00 17.0 22:00 20.0 24:00 17.0
2019.01.21 18:35:02 3: CUL_HM set LA1.Heizung_Clima tempListSat prep 08:00 17.0 11:00 20.0 16:00 17.0 22:00 20.0 24:00 17.0
2019.01.21 18:35:02 3: CUL_HM set LA1.Heizung_Clima tempListSun prep 08:00 17.0 11:00 20.0 16:00 17.0 22:00 20.0 24:00 17.0
2019.01.21 18:35:02 3: CUL_HM set LA1.Heizung_Clima tempListMon prep 06:00 17.0 09:00 20.0 17:00 17.0 22:00 20.0 24:00 17.0
2019.01.21 18:35:02 3: CUL_HM set LA1.Heizung_Clima tempListTue prep 06:00 17.0 09:00 20.0 17:00 17.0 22:00 20.0 24:00 17.0
2019.01.21 18:35:02 3: CUL_HM set LA1.Heizung_Clima tempListWed prep 06:00 17.0 09:00 20.0 17:00 17.0 22:00 20.0 24:00 17.0
2019.01.21 18:35:02 3: CUL_HM set LA1.Heizung_Clima tempListThu prep 06:00 17.0 09:00 20.0 17:00 17.0 22:00 20.0 24:00 17.0
2019.01.21 18:35:02 3: CUL_HM set LA1.Heizung_Clima tempListFri prep 06:00 17.0 09:00 20.0 17:00 17.0 22:00 20.0 24:00 17.0
2019.01.21 18:35:02 3: CUL_HM set LA1.Heizung_Clima tempListFri exec 06:00 17.0 09:00 20.0 17:00 17.0 22:00 20.0 24:00 17.0
2019.01.21 18:35:02 3: CUL_HM set LA2.Heizung_Clima tempListSat prep 08:00 17.0 11:00 20.0 16:00 17.0 22:00 20.0 24:00 17.0
2019.01.21 18:35:02 3: CUL_HM set LA2.Heizung_Clima tempListSun prep 08:00 17.0 11:00 20.0 16:00 17.0 22:00 20.0 24:00 17.0
2019.01.21 18:35:02 3: CUL_HM set LA2.Heizung_Clima tempListMon prep 06:00 17.0 09:00 20.0 17:00 17.0 22:00 20.0 24:00 17.0
2019.01.21 18:35:02 3: CUL_HM set LA2.Heizung_Clima tempListTue prep 06:00 17.0 09:00 20.0 17:00 17.0 22:00 20.0 24:00 17.0
2019.01.21 18:35:02 3: CUL_HM set LA2.Heizung_Clima tempListWed prep 06:00 17.0 09:00 20.0 17:00 17.0 22:00 20.0 24:00 17.0
2019.01.21 18:35:02 3: CUL_HM set LA2.Heizung_Clima tempListThu prep 06:00 17.0 09:00 20.0 17:00 17.0 22:00 20.0 24:00 17.0
2019.01.21 18:35:02 3: CUL_HM set LA2.Heizung_Clima tempListFri prep 06:00 17.0 09:00 20.0 17:00 17.0 22:00 20.0 24:00 17.0
2019.01.21 18:35:02 3: CUL_HM set LA2.Heizung_Clima tempListFri exec 06:00 17.0 09:00 20.0 17:00 17.0 22:00 20.0 24:00 17.0
2019.01.21 18:35:02 3: CUL_HM set LU.Heizung_Clima tempListSat prep 08:00 17.0 11:00 20.0 16:00 17.0 22:00 20.0 24:00 17.0
2019.01.21 18:35:02 3: CUL_HM set LU.Heizung_Clima tempListSun prep 08:00 17.0 11:00 20.0 16:00 17.0 22:00 20.0 24:00 17.0
2019.01.21 18:35:02 3: CUL_HM set LU.Heizung_Clima tempListMon prep 05:00 17.0 07:00 20.0 17:00 17.0 22:00 20.0 24:00 17.0
2019.01.21 18:35:02 3: CUL_HM set LU.Heizung_Clima tempListTue prep 05:00 17.0 07:00 20.0 17:00 17.0 22:00 20.0 24:00 17.0
2019.01.21 18:35:02 3: CUL_HM set LU.Heizung_Clima tempListWed prep 07:00 17.0 08:00 20.0 17:00 17.0 22:00 20.0 24:00 17.0
2019.01.21 18:35:02 3: CUL_HM set LU.Heizung_Clima tempListThu prep 05:00 17.0 07:00 20.0 17:00 17.0 22:00 20.0 24:00 17.0
2019.01.21 18:35:02 3: CUL_HM set LU.Heizung_Clima tempListFri prep 05:00 17.0 07:00 20.0 17:00 17.0 22:00 20.0 24:00 17.0
2019.01.21 18:35:02 3: CUL_HM set LU.Heizung_Clima tempListFri exec 05:00 17.0 07:00 20.0 17:00 17.0 22:00 20.0 24:00 17.0
2019.01.21 18:35:02 3: CUL_HM set SZ.Heizung_Clima tempListSat prep 07:00 16.0 09:00 18.0 17:00 16.0 21:00 18.0 24:00 16.0
2019.01.21 18:35:02 3: CUL_HM set SZ.Heizung_Clima tempListSun prep 07:00 16.0 09:00 18.0 17:00 16.0 21:00 18.0 24:00 16.0
2019.01.21 18:35:02 3: CUL_HM set SZ.Heizung_Clima tempListMon prep 06:00 16.0 09:00 18.0 17:00 16.0 21:00 18.0 24:00 16.0
2019.01.21 18:35:02 3: CUL_HM set SZ.Heizung_Clima tempListTue prep 06:00 16.0 09:00 18.0 17:00 16.0 21:00 18.0 24:00 16.0
2019.01.21 18:35:02 3: CUL_HM set SZ.Heizung_Clima tempListWed prep 06:00 16.0 09:00 18.0 17:00 16.0 21:00 18.0 24:00 16.0
2019.01.21 18:35:02 3: CUL_HM set SZ.Heizung_Clima tempListThu prep 06:00 16.0 09:00 18.0 17:00 16.0 21:00 18.0 24:00 16.0
2019.01.21 18:35:02 3: CUL_HM set SZ.Heizung_Clima tempListFri prep 06:00 16.0 09:00 18.0 17:00 16.0 21:00 18.0 24:00 16.0
2019.01.21 18:35:02 3: CUL_HM set SZ.Heizung_Clima tempListFri exec 06:00 16.0 09:00 18.0 17:00 16.0 21:00 18.0 24:00 16.0
2019.01.21 18:35:02 3: CUL_HM set WZ.Heizung_Clima tempListSat prep 08:00 17.0 11:00 20.0 16:00 17.0 22:00 22.0 24:00 17.0
2019.01.21 18:35:02 3: CUL_HM set WZ.Heizung_Clima tempListSun prep 08:00 17.0 11:00 20.0 16:00 17.0 22:00 22.0 24:00 17.0
2019.01.21 18:35:02 3: CUL_HM set WZ.Heizung_Clima tempListMon prep 06:00 17.0 09:00 20.0 17:00 17.0 22:00 22.0 24:00 17.0
2019.01.21 18:35:02 3: CUL_HM set WZ.Heizung_Clima tempListTue prep 06:00 17.0 09:00 20.0 17:00 17.0 22:00 22.0 24:00 17.0
2019.01.21 18:35:02 3: CUL_HM set WZ.Heizung_Clima tempListWed prep 06:00 17.0 09:00 20.0 17:00 17.0 22:00 22.0 24:00 17.0
2019.01.21 18:35:02 3: CUL_HM set WZ.Heizung_Clima tempListThu prep 06:00 17.0 09:00 20.0 17:00 17.0 22:00 22.0 24:00 17.0
2019.01.21 18:35:02 3: CUL_HM set WZ.Heizung_Clima tempListFri prep 06:00 17.0 09:00 20.0 17:00 17.0 22:00 22.0 24:00 17.0
2019.01.21 18:35:02 3: CUL_HM set WZ.Heizung_Clima tempListFri exec 06:00 17.0 09:00 20.0 17:00 17.0 22:00 22.0 24:00 17.0
2019.01.21 18:37:24 3: CUL_HM set WZ.Heizung_Clima getConfig
So wie ich das verstehe, fehlen da ein paar "exec" vor dem getConfig. Obwohl ich bei WZ.Hiezung_Clima alle Wochentage, die ich bisher noch nicht auf 22:00 22.0 geändert hatte, wurde das exec nur auf tempListFri ausgeführt.
Und, die Vermutung wird hierdurch (fast) bestätigt (configCheck)
configCheck done:
templist mismatch
WZ.Heizung_Clima: failed Entries:
WZ.Heizung_Clima :R_1_tempListSun mismatch 08:00 17.0 11:00 20.0 16:00 17.0 22:00 22.0 24:00 17.0 ne 08:00 17.0 11:00 20.0 16:00 17.0 22:00 20.0 24:00 17.0 ##
WZ.Heizung_Clima :R_2_tempListMon mismatch 06:00 17.0 09:00 20.0 17:00 17.0 22:00 22.0 24:00 17.0 ne 06:00 17.0 09:00 20.0 17:00 17.0 22:00 20.0 24:00 17.0 ##
WZ.Heizung_Clima :R_3_tempListTue mismatch 06:00 17.0 09:00 20.0 17:00 17.0 22:00 22.0 24:00 17.0 ne 06:00 17.0 09:00 20.0 17:00 17.0 22:00 20.0 24:00 17.0 ##
WZ.Heizung_Clima :R_4_tempListWed mismatch 06:00 17.0 09:00 20.0 17:00 17.0 22:00 22.0 24:00 17.0 ne 06:00 17.0 09:00 20.0 17:00 17.0 22:00 20.0 24:00 17.0 ##
WZ.Heizung_Clima :R_6_tempListFri mismatch 06:00 17.0 09:00 20.0 17:00 17.0 22:00 22.0 24:00 17.0 ne 06:00 17.0 09:00 20.0 17:00 17.0 22:00 20.0 24:00 17.0 ##
Bis auf den Samstag und den Donnerstag, die schon geändert waren, sind nun alle Tage "mismatched". Die Änderung habe ich direkt auf dem Clima Kanal mit
set WZ.Heizung_Clima tempListSat 08:00 17.0 11:00 20.0 16:00 17.0 22:00 22.0 24:00 17.0
respektive tempListThu gemacht.
Also für mich ist das ein Bug im restore.
Übrigens, ich habe nichts vom hminfo Device im log trotz verbose = 5
Und: Damit der ConfigCheck wieder i.O. ist, habe ich gerade nochmal die tempList gesichert. Jetzt sind natürlich die Änderungen weg, aber das ist für die Fehlersuche einfacher.
Viele Grüße, Holger
ZitatSo wie ich das verstanden habe, braucht man das Attribut tempListTempl nur dann, wenn man mehrere Templisten auf unterschiedlichen Devices haben möchte. Beim save legt fhem standardmäßig die Datei tempList.cfg an und benutzt diese dann auch für das restore. So war es zumindest noch Anfang 2018.
Kann sein, deswegen habe ich nur gefragt, ob das normal ist. Ich nutze diesen Modus nicht.
Kann es sein, dass Du einfach zu ungeduldig bist? Nicht böse gemeint: vielen Änderungen brauchen viel Zeit, bis die alle im RT übertragen worden sind, und auch das reread von active List zu reference List erledigt ist. Wenn Du das restore machst, musst Du dann warten, bis:
- im RT STATE CMDs_done steht
- die Readings R_n_tempList sich geändert haben (siehst Du im Datum/Uhrzeit der Readings)
- das Reading R_tempList_State auch aktualisiert worden ist, und auf "verified" steht.
Erst dann ist hminfo configCheck relevant.
Zitat2019.01.21 18:35:02 3: CUL_HM set WZ.Heizung_Clima tempListSat prep 08:00 17.0 11:00 20.0 16:00 17.0 22:00 22.0 24:00 17.0
2019.01.21 18:35:02 3: CUL_HM set WZ.Heizung_Clima tempListSun prep 08:00 17.0 11:00 20.0 16:00 17.0 22:00 22.0 24:00 17.0
2019.01.21 18:35:02 3: CUL_HM set WZ.Heizung_Clima tempListMon prep 06:00 17.0 09:00 20.0 17:00 17.0 22:00 22.0 24:00 17.0
2019.01.21 18:35:02 3: CUL_HM set WZ.Heizung_Clima tempListTue prep 06:00 17.0 09:00 20.0 17:00 17.0 22:00 22.0 24:00 17.0
2019.01.21 18:35:02 3: CUL_HM set WZ.Heizung_Clima tempListWed prep 06:00 17.0 09:00 20.0 17:00 17.0 22:00 22.0 24:00 17.0
2019.01.21 18:35:02 3: CUL_HM set WZ.Heizung_Clima tempListThu prep 06:00 17.0 09:00 20.0 17:00 17.0 22:00 22.0 24:00 17.0
2019.01.21 18:35:02 3: CUL_HM set WZ.Heizung_Clima tempListFri prep 06:00 17.0 09:00 20.0 17:00 17.0 22:00 22.0 24:00 17.0
2019.01.21 18:35:02 3: CUL_HM set WZ.Heizung_Clima tempListFri exec 06:00 17.0 09:00 20.0 17:00 17.0 22:00 22.0 24:00 17.0
2019.01.21 18:37:24 3: CUL_HM set WZ.Heizung_Clima getConfig
So wie ich das verstehe, fehlen da ein paar "exec" vor dem getConfig. Obwohl ich bei WZ.Hiezung_Clima alle Wochentage, die ich bisher noch nicht auf 22:00 22.0 geändert hatte, wurde das exec nur auf tempListFri ausgeführt.
Nein. Eigentlich ist der "tempListFri prep" sogar überflüssig. Das prep und exec Verfahren ist dafür gedacht, dass die Anzahl von Nachrrichten in Richtung RT reduziert wird. Siehe https://wiki.fhem.de/wiki/HomeMatic_Type_Thermostat#Massen.C3.A4nderung
OK, also das prep und exec ist in dem Fall natürlich nicht das Problem. Die Seite im Wiki kannte ich einfach nicht, aber da steht ja eindeutig, der Grund.
Zu den Zeiten:
Leider weiß ich nicht mehr genau, wann ich den config_check gemacht habe. Die Einträge im log waren ja von 18:35 respektive 18:37 für das getConfig. Bei den Readings sehe ich, dass diese um 18:40 geändert wurden, auch das Verified war um diese Uhrzeit:
R_0_tempListSat 08:00 17.0 11:00 20.0 16:00 17.0 22:00 22.0 24:00 17.0 2019-01-21 18:40:10
R_1_tempListSun 08:00 17.0 11:00 20.0 16:00 17.0 22:00 20.0 24:00 17.0 2019-01-21 18:40:10
R_2_tempListMon 06:00 17.0 09:00 20.0 17:00 17.0 22:00 20.0 24:00 17.0 2019-01-21 18:40:10
R_3_tempListTue 06:00 17.0 09:00 20.0 17:00 17.0 22:00 20.0 24:00 17.0 2019-01-21 18:40:10
R_4_tempListWed 06:00 17.0 09:00 20.0 17:00 17.0 22:00 20.0 24:00 17.0 2019-01-21 18:40:10
R_5_tempListThu 06:00 17.0 09:00 20.0 17:00 17.0 22:00 22.0 24:00 17.0 2019-01-21 18:40:10
R_6_tempListFri 06:00 17.0 09:00 20.0 17:00 17.0 22:00 20.0 24:00 17.0 2019-01-21 18:40:10
R_tempList_State verified 2019-01-21 18:40:10
CMDs done war auf jeden Fall durch vor dem configCheck. Das musst Du mir jetzt leider einfach glauben, aber das habe ich auch schon immer beachtet.
Ich mache das ganze gleich noch einmal und achte auch auf die Zeiten der Readings.
Also, ich habe gerade eine Änderung vorgenommen an einem Eintrag in der temList.cfg und um 21:37 ein templist restore auf dem hminfo device ausgelöst. Das hier steht im fhem log:
2019.01.24 21:37:36 3: CUL_HM set WZ.Heizung_Clima tempListFri exec 06:00 17.0 09:00 20.0 17:00 17.0 22:00 22.0 24:00 17.0
Der R_tempList_State im clima Channel steht um 21:37:36 auf incomplete.
Der entsprechende RT hat um 21:39 im fhem log ein getConfig auf dem clima channel ausgelöst.
Bis 21:46:42 stand das Device auf CMDs_pending, im Reading state steht jetzt CMDs_done um 21:46:42
Im clima channel des RT steht um 21:46:42 das R_tempList_State auf verified
Allerdings steht das Reading von R_6_tempListFri, welches ich in der tempList.cfg geändert habe, mit der Uhrzeit 21:46:42 noch auf seinem alten Wert
06:00 17.0 09:00 20.0 17:00 17.0 22:00 20.0 24:00 17.0
Und um 21:55:00 habe ich dann den configCheck gemacht und erhalte folgendes:
configCheck done:
templist mismatch
WZ.Heizung_Clima: failed Entries:
WZ.Heizung_Clima :R_6_tempListFri mismatch 06:00 17.0 09:00 20.0 17:00 17.0 22:00 22.0 24:00 17.0 ne 06:00 17.0 09:00 20.0 17:00 17.0 22:00 20.0 24:00 17.0 ##
Sorry, aber ich bleibe dabei: Es ist ein Problem mit dem templist restore, das es Anfang 2018 noch nicht gab. Es kann also sein, dass es daran liegt, das ich mittlerweile in der VCCU ein zweites IO Gerät habe oder es eine Änderung in den fhem Modulen gegeben hat.
Viele Grüße, Holger
Ich werde es morgen einmal simulieren.
so, habe getestet. Ich konnte es nicht nachvollziehen.
Ich habe das Kommando manuell abgesetzt und auch das tempList.cfg geändert. Um es zu beschleunigen habe ich burstXmit und getConfig manuell abgesetzt - das ändert aber weder die Abfrage noch das Schreiben.
Ich habe auch Freitag geändert - sicherheitshalber.
=> nach dem Ändern wird die Templist auf incomplete gesetzt
=> Die Änderung ist in der CommandQueue und wird nach Aufwachen oder burstXmit gesendet
=> nach dem Senden wird (je nach Einstellung) ein getConfig in die Queue eingefügt. Kann man auch manuell. Das automatische einfügen kann etwas dauern
=> auslösen wieder mit burstXmit oder warten
=> die Liste wird auf "verified" gesetzt wenn das Device gelesen ist. "Verified" bedeutet, dass die angezeigten Readings mit dem Inhalt des Device (nach bestem Wissen) übereinstimmen. Hat nichts mit tempList.cfg zu tun
=> ein templist verify lief danach ohne Fehlermeldung. Nach jedem meiner Tests
So, nun die Fragen:
? passiert dies bei dir immer oder nur jedes n-te mal?
? kannst du einmal sniffen (nur das Device) wenn das Problem aufritt?
Hallo Martin,
Ja, ich habe das Verhalten immer. Im Wiki habe ich etwas gefunden zum Thema sniffen. Welches device meinst Du? Ich habe ein hmuart, ein cul oder meinst Du das RT Device?
Viele Grüße, Holger
Das Sniffen vom RT sollte ihm reichen.
Sniffen ist in wiki beschrieben. Den rt als attr logid im io angeben.
Hallo,
ich möchte mich hier einmal einklinken, weil ich ähnliche Probleme mit dem tempList restore habe. Allerdings ist es nicht immer reproduzierbar, da es manchmal auch funktioniert. Ich habe 5 Ventile HM-CC-RT-DN, davon eines gepeert mit einem Thermostat HM-TC-IT-WM-W-EU.
Ich nutze eine vccu mit 2 x HM-LAN. Mir ist nun aufgefallen, dass in HMLAN2 im internal msgLoadHistoryAbs (5 min steps) immer jedem Menge Werte stehen, bei HMLAN1 in diesem Reading immer nur 0 auftauchen (0/0/0/...). Selbst wenn ich HMLAN2 auf closed setze, bleiben in HMLAN1 die 0-Werte stehen, obwohl die Kommunikation zu dem Homematic-Geräten weiter funktioniert. Ist das ein seltsames Verhalten oder durchaus normal?
Diese Beobachtung hat sich nach einem Firmware-Update der HMLAN erledigt.
Wenn ich im HMinfo-Device ein set tempList restore absetze, bleiben i.d.R. mehrere Ventile auf CMDs_pending hängen, auch länger als 5 Minuten. Zum Teil habe aber den gleichen Effekt wie gent, d. h. R_tempList_State steht auf verified, ein HMinfo tempList verify bringt aber Abweichungen.
Wenn ich im Abstand von z. B. 10 Minuten ein HMinfo tempList restore mache, "erholen" sich die Ventile, d. h. früher oder später sind alle verified und die Werte passen.
Vielleicht kann gent Parallelen zu seiner Installation finden, ansonsten gehe ich auch mit dem Sniffer auf die weitere Suche.
Gruß Wolfgang
Zum ersten Punkt. Wenn das Device in Pending hängen bleibt kann es sei, dass eine Störung den Ablauf unterbrochen hat. Also noch einmal warten. Wenn es nach 10 -15min immer noch hängt ein list des Device (Device reicht) hier posten.
Zitat von: martinp876 am 06 Februar 2019, 13:39:44
Zum ersten Punkt. Wenn das Device in Pending hängen bleibt kann es sei, dass eine Störung den Ablauf unterbrochen hat. Also noch einmal warten. Wenn es nach 10 -15min immer noch hängt ein list des Device (Device reicht) hier posten.
Seit meinem Firmware-Update der HM-LAN scheint das Verhalten besser geworden zu sein. Es dauert jedoch noch sehr lange (>10 Minuten), bis R_tempList_State incomplete durch verified ersetzt wird, weil anscheinend die Ventile die bereits übernommenen tempListen nicht zurückmelden. Und das, obwohl Daten wie
desired-temp und measured-temp regelmäßig gesendet werden.
Ein manuelles getConfig auf das Ventil löst das Problem, der Status springt dann zeitnah auf verified. Sollte das aber nicht eigentlich automatisch erfolgen? Oder habe ich da noch ein Konfigurationsproblem?
Ich teste gerade mit dem weekprofile, das Verhalten scheint aber sehr ähnlich oder sogar identisch zu sein.
Die Ventile melden nicht zur, fhem fragt nach. Das wird verzögert gemacht um das io zu entlasten. Die listen sind doch relativ lang, auch wenn typisch fast leer.
Du kannst den ablauf prüfen wenn du den wechsel cmdpending, processing und finished beobachtest.
Es geht automatisch, nur nicht max schnell.
Ich könnte es beschleunigen.... Dann wird worst case bei jedem regchange ein getconfig ausgelöst. Also mehrere nacheinander....
Zitat von: martinp876 am 06 Februar 2019, 19:01:29
Du kannst den ablauf prüfen wenn du den wechsel cmdpending, processing und finished beobachtest.
Erstmal vielen Dank, dass Du Dir die Zeit nimmst, meine Fragen zu beantworten!
Ich habe ja auch einen Thermostat HM-TC-IT-WM-W-EU, da geht das i.d.R. sehr schnell und der tempList_State geht auf verified. Bei den Ventilen ist es jedoch eher
der Normalfall, dass das Device auf CMDs_done steht, tempList_State im Clima-channel auf incomplete. Woran kann ich sehen, wann fhem den Status des Ventils erneut abfragt bzw. ein getConfig macht? Ich hatte jetzt wieder einen Fall, wo auch 30 Minuten später der tempList_State noch auch incomplete stand. Mit verbose=5 auf dem Ventil habe ich bisher nicht viel sehen können, außer viele "dupe dont process".
Ich könnte das Thema für mich dadurch lösen, dass ich zeitverzögert nach dem Setzen eines Profils im Wochenplaner nochmal ein getConfig auf die Ventile mache. Aber so wie ich Dich verstehe, müsste das auch jetzt schon automatisch passieren?
Der tc ist ein Brust Device. Nach dem Schreiben wird das rückmelden gequeued und , wenn das io nicht die eingestellte belastungsgrenze überschritten hat,wird gesendet.
Beim RT gilt das gleiche Prinzip. Jedoch wird die queue erst beim Erwachen des RT geprüft, also schon mal einen Zyklus später.
Wenn der RT auf incomplete steht sollte bei get hm protoEvents ganz unten stehen was in der queue noch auf Verarbeitung wartet . Decives mit incomplete sollten alle drin stehen, sofern autoreadreg nicht als haltet.
=> wenn incomplete wird noch automatisch aktualisiert.
Wenn das niecht der Fall ist, bug melden
Zitat von: martinp876 am 02 Februar 2019, 19:22:11
Sniffen ist in wiki beschrieben. Den rt als attr logid im io angeben.
Ok, ich habe das jetzt mal gemacht und hatte zum allerersten Mal auf dem RT ein MissingAck. Trotzdem würde ich das Ergebnis gerne schicken. Sollte ich das als PN machen oder hier posten?
Als pn gehen keine attachements.
Also hier
OK, anbei der Ausschnitt aus dem logfile.
Sorry, ich sehe kein send.
Kannst du sicher stellen dass culhm einen restore macht, dass commands pending sind und dann ein done kommt?
Bitte das nächste mal sniffen wie in wiki beschrieben. Macht es deutlich einfacher und kürzer.
Gerne die logids auf den Prüfling einstellen.
Zitat von: martinp876 am 13 Februar 2019, 20:40:46
Sorry, ich sehe kein send.
Kannst du sicher stellen dass culhm einen restore macht, dass commands pending sind und dann ein done kommt?
Bitte das nächste mal sniffen wie in wiki beschrieben. Macht es deutlich einfacher und kürzer.
Gerne die logids auf den Prüfling einstellen.
Ich habe beim sniffen alles so eingestellt, wie im Wiki beschrieben und die Logis auf den RT eingestellt. Das Culhm ein restore macht, kann ich nicht sehen. Commands sind erst pending und dann done. Das stand aber auch schon weiter oben. Mittlerweile ist es mir auch egal ob das Templist restore klappt oder nicht. Ich kann einzelne Modifikationen direkt auf das Thermostat senden. Trotzdem danke für die Analyse.
Viele Grüße, Holger
schade
Ein kleiner Nachtrag noch zu dem Beitrag:
Ich habe ja, als ich das Verhalten beobachtet hatte, 2 IO Devices in der VCCU verwendet. Einen CUL und einen HMUART. Ich hatte ja auch schon zu Beginn geäußert, dass ich die Probleme nicht hatte, als nur ein Device in der VCCU war. Jetzt habe ich - aus anderen Gründen - den HMUART aus der VCCU entfernt und alles ist wieder gut.
Templist Restore funktioniert wieder einwandfrei auch wenn ich jetzt ein paar Devices mit geringeren RSSI Werten habe, als mit dem HMUART in der VCCU. Der CUL alleine reicht aber immer noch aus, um alle HM Geräte zu steuern.
Also nochmal vielen Dank an alle, die sich hier eingeklinkt haben.
Viele Grüße, Holger