Hallo zusammen,
ich habe hier schon einige gefunden, die ebenfalls die Probleme haben, ich würde gerne ein Löschen und neues pairen vermeiden. Eventuell ist es aber relativ einfach – ich habe dazu noch ein paar Bedenken, vgl. unten.
ich habe ein Problem mit meinen 3 Heizthermostaten (HM-CC-RT-DN, Firmware Version 1.4) und meinem einen Wandthermostat (HM-TC-IT-WM-W-EU, Firmware Version 1.3).
Ich bekomme die Temperaturlisten weder in die Heizthermostate, noch in das Wandthermostat. Die Kommunikation zwischen FHEM und den Thermostaten bzgl. Temperatureinstellungen und Modi (Automatisch, Manuell, Boost) funktioniert, d.h. ich kann von FHEM bspw. den Modus manuell setzen und die Temperatur auf 19°C stellen. Ebenfalls senden die Fensterkontakte erfolgreich (welche mit FHEM gepaired sind und mit dem Thermostaten gepeered), d.h. die Thermostaten drehen runter, sobald ein Fenster offen ist.
Bis vor einem Jahr hatte ich die Thermostate mit FHEM irgendwie integriert, bevor ich die Fensterkontakte hatte, dort konnte ich die Temperaturlisten immer ohne Problem übertragen. Mit den Fensterkontakten habe ich mich intensiver mit FHEM befasst und eine VCCU (VCCU1) eingerichtet und ein HMInfo Modul angelegt. Anschließend habe ich in den Devices das Attribut IOgrp gesetzt, wie in auf der wiki page beschrieben. Ich glaube mich aber zu erinnern, dass ich Ende des Winters 2021 die Temperaturlisten erfolgreich übermitteln konnte.
Zurück zum Heizthermostat: Zunächst habe ich versucht die Boost-Taste mehrmals zu drücken, um einen Datentransfer anzustoßen: der commState wechselt zwar von CMDs_pending auf CMD_processing..., jedoch kann man diesen Vorgang beliebig oft wiederholen, ohne dass sich was groß ändert.
Ich setze eine Temperaturliste, es ändert sich in Kueche_Heizung_Clima die Zustände wie folgt:
R_tempList_State incomplete
cfgState RegIncom,RegPend,TempChk
commState CMDs_pending
Ich warte und drücke mehrmals die Boost Taste. Es ändert such bzgl. den Statusanzeigen nichts, die CMDs_pending bleibt.
Ein hm configCheck
bringt:
configCheck done:
missing register list
Kueche_Heizung_Clima: RegL_01.,RegL_07.
Wohnzimmer_Wandthermostat_Climate: RegL_08.,RegL_09.
Register changes pending
Kueche_Heizung_Clima:
templist mismatch
Kueche_Heizung_Clima:
Kueche_Heizung_Clima: tempList 1 not verified
HMID der VCCU1 und der Thermostate stimmen überein; das Attribut IOgrp in alle Aktoren und Sensoren ist gesetzt.
Als IODev habe ich die Aufsteckplatine von ELV, HM-MOD-UART. Dort habe ich auch die hmId gesetzt.
Kann das eventuell das Problem sein, dass die hmID des Adapters mit der hmID der VCCU1 sich irgendwie in die Quere kommen, sodass eventuell das Thermostat einmal mit der dem Adapter funkt und einmal mit der VCCU1?
Anbei ein List des Heizthermostats:
Internals:
DEF xxxxxx
FUUID xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxxxx
IODev myHmUART
LASTInputDev myHmUART
MSGCNT 65
NAME Kueche_Heizung
NR 30
NTFY_ORDER 48-Kueche_Heizung
STATE CMDs_pending
TYPE CUL_HM
channel_01 Kueche_Heizung_Weather
channel_02 Kueche_Heizung_Climate
channel_03 Kueche_Heizung_WindowRec
channel_04 Kueche_Heizung_Clima
channel_05 Kueche_Heizung_ClimaTeam
channel_06 Kueche_Heizung_remote
disableNotifyFn 1
eventCount 73
lastMsg No:0F - t:02 s:5AD776 d:F1F1F1 00
myHmUART_MSGCNT 65
myHmUART_RAWMSG 040300460F80025AD776F1F1F100
myHmUART_RSSI -70
myHmUART_TIME 2022-11-28 21:06:08
protCmdPend 10 CMDs_pending
protLastRcv 2022-11-28 21:06:08
protRcv 64 last_at:2022-11-28 21:06:08
protResnd 5 last_at:2022-11-28 21:06:12
protSnd 47 last_at:2022-11-28 21:06:08
protState CMDs_pending
rssi_at_myHmUART cnt:65 min:-94 max:-70 avg:-72.24 lst:-70
CL:
Authenticated 0
BUF
FD 36
FW_ID 224
LASTACCESS 1669666032.92431
NAME WEB_192.168.0.107_61800
NR 257
PEER 192.168.0.107
PORT 61800
SNAME WEB
SSL
STATE Connected
TEMPORARY 1
TYPE FHEMWEB
canAsyncOutput 1
encoding UTF-8
READINGS:
2022-11-28 21:07:12 state Connected
READINGS:
2022-11-28 20:59:55 Activity alive
2022-11-28 21:06:08 CommandAccepted yes
2022-11-28 21:03:01 D-firmware 1.4
2022-11-28 21:03:01 D-serialNr Oxxxxxxxxx
2022-11-28 21:06:06 IODev myHmUART
2022-11-28 20:51:22 PairedTo 0xF1F1F1
2017-11-05 20:56:21 R-backOnTime 10 s
2017-11-05 20:56:21 R-burstRx on
2017-11-05 20:56:21 R-cyclicInfoMsg on
2017-11-05 20:56:21 R-cyclicInfoMsgDis 0
2022-11-28 20:51:22 R-pairCentral 0xF1F1F1F1
2022-11-28 20:51:22 RegL_00. 00:00 01:01 02:01 09:01 0A:F1 0B:00 0C:00 0E:0A 0F:00 11:00 12:15 16:00 18:00 19:00 1A:00
2022-11-28 21:06:06 actuator 0
2022-11-28 21:06:06 battery ok
2022-11-28 21:06:06 batteryLevel 2.6
2022-11-28 21:03:57 cfgState ok
2022-11-28 21:06:12 commState CMDs_pending
2022-11-28 21:06:06 desired-temp 5.0
2022-11-28 21:06:06 measured-temp 23.4
2022-11-28 21:06:06 motorErr ok
2022-11-28 20:36:44 powerOn 2022-11-28 20:36:44
2022-11-28 20:36:44 recentStateType info
2022-11-28 21:06:12 state CMDs_pending
2022-11-28 20:36:46 time-request -
RegL_07.:
VAL
cmdStack:
++A001F1F1F15AD77600050000000007
++A001F1F1F15AD7760008144815481659171118492E482F48
++A001F1F1F15AD7760008305931113249484849484A594B11
++A001F1F1F15AD77600084C49624863486459651166497C48
++A001F1F1F15AD77600087D487E597F118049964897489859
++A001F1F1F15AD776000899119A49B048B148B259B311B449
++A001F1F1F15AD7760006
##A001F1F1F15AD7760403
##A001F1F1F15AD77604040000000001
##A001F1F1F15AD77600040000000007
helper:
HM_CMDNR 16
PONtest 1
cSnd 01F1F1F15AD7760008144815481659171118492E482F48,01F1F1F15AD7760008305931113249484849484A594B11
cfgStateUpdt 1
lastMsgTm 1669665968.02268
mId 0095
peerFriend -
peerOpt -:thermostat
regLst 0
rxType 140
supp_Pair_Rep 0
cmds:
TmplKey :no:1669664999.78908
TmplTs 1669664999.78908
cmdKey 0:1:0::Kueche_Heizung:0095:00:
cmdLst:
assignHmKey noArg
burstXmit 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 2
newChn +5AD776,02,00,00
nextSend 1669665968.11372
rxt 2
vccu VCCU1
p:
5AD776
00
00
00
prefIO:
mRssi:
mNo 0F
io:
myHmUART:
-68
-68
peerIDsH:
prt:
bErr 0
sProc 2
wuReSent 2
tryMsg:
q:
qReqConf
qReqStat
regCollect:
role:
dev 1
prs 1
rssi:
at_myHmUART:
avg -72.2461538461539
cnt 65
lst -70
max -70
min -94
shRegW:
07 04
shadowReg:
tmpl:
Attributes:
IOgrp VCCU1
actCycle 000:10
actStatus alive
autoReadReg 4_reqStatus
expert defReg,rawReg
firmware 1.4
model HM-CC-RT-DN
serialNr OExxxxxxxx
subType thermostat
webCmd getConfig:clear msgEvents:burstXmit
Dann habe ich mal
set Kueche_Heizung clear all
Ausgeführt und anschließend mit
set Kueche_Heizung getConfig
Alle Werte neu eingelesen. Das funktioniert. Auch ein CMDs_done erscheint. Sobald ich aber die Temepraturliste übertragen möchte, beginnt die Schleife der Verzweiflung wieder.
Als mögliche Lösung habe ich das hier noch gefunden, wobei ich solch ein Reset gerne vermeiden würde.
https://de.elv.com/forum/neue-firmware-1.5-an-fhem-uart-modul-hm-mod-rpi-pcb-mit-firmware-1.4.1-7481 (https://de.elv.com/forum/neue-firmware-1.5-an-fhem-uart-modul-hm-mod-rpi-pcb-mit-firmware-1.4.1-7481) bzw
https://forum.fhem.de/index.php/topic,116494.msg1133016.html#msg1133016 (https://forum.fhem.de/index.php/topic,116494.msg1133016.html#msg1133016)
Wenn ich mal Testhalber ein Thermostat resette, dann muss ich die Fensterkontakte neu peeren oder? Muss ich in FHEM die devices neu anlegen und umbenennen oder bleiben erhalten.
Bin für jede Anregung dankbar. Viele Grüße
Bitte reiben an der Lampe, dass Martin die Voreinstellung für commStInChan (oder so) wieder ändert... Falls das nichts hilft, setze es manuell bei allen Hauptdevices auf off.
Ansonsten starre noch eine Weile auf den EventMonitor und überlege erforderlichenfalls, wie du sonst noch die Zahl der Events begrenzen kannst.
(Das ist unser "Dauerbrenner" hier in diesem Forenbereich).
Besten Dank. Lange gesucht, aber das habe ich wohl überlesen. Funktioniert wunderbar!
set Kueche_Heizung attr commStInCh off
...immer wieder gerne...
PS: Das mit dem Event-Monitor hat sich m.E. deswegen nicht erledigt; dein System scheint auch ohne dieses "Gimmick" grenzwertig ausgelastet zu sein.