Skip to content
This repository has been archived by the owner on Oct 4, 2021. It is now read-only.

boilTemp gives very high value (sometimes) #15

Closed
balk77 opened this issue Dec 19, 2018 · 10 comments
Closed

boilTemp gives very high value (sometimes) #15

balk77 opened this issue Dec 19, 2018 · 10 comments

Comments

@balk77
Copy link

balk77 commented Dec 19, 2018

Hi, boilTemp sometimes gives a very high value, in this case 2073.6 degrees. See two mqtt topics below.

{"wWSelTemp":"60","wWActivated":"on","wWCurTmp":"42.2","wWHeat":"off","curFlowTemp":"44.5","retTemp":"44.0","burnGas":"off","heatPmp":"on","fanWork":"off","ignWork":"off","wWCirc":"off","selBurnPow":"0","curBurnPow":"0","sysPress":"1.6","boilTemp":"45.4","pumpMod":"35"}
{"wWSelTemp":"60","wWActivated":"on","wWCurTmp":"42.2","wWHeat":"off","curFlowTemp":"44.5","retTemp":"44.0","burnGas":"off","heatPmp":"on","fanWork":"off","ignWork":"off","wWCirc":"off","selBurnPow":"0","curBurnPow":"0","sysPress":"1.6","boilTemp":"2073.6","pumpMod":"0"}

@proddy
Copy link
Collaborator

proddy commented Dec 19, 2018

strange. Could you set the logging to verbose and send me the telegram of type 0x19 (UBAMonitorSlow). It should broadcast every minute.

@carcass
Copy link

carcass commented Dec 22, 2018

I believe this is Nefit Easy specific. It sends requests for outside temperature(?) and current code doesn't handle partial or non-zero offset responses.

(01:35:28) Thermostat -> Boiler, type 0x19 telegram: 18 88 19 00 02 DB (len 6)
(01:35:28) Boiler -> Thermostat, type 0x19 telegram: 08 18 19 00 80 00 51 (len 7)

@proddy
Copy link
Collaborator

proddy commented Dec 22, 2018

I need to see the 0x19 broadcasts (Boiler -> all) and not the ones the Thermostat requests. Can you capture those and reply back.

@carcass
Copy link

carcass commented Dec 22, 2018

there's nothing wrong with 0x19 broadcasts, at least I didn't see any for a month now:)
hex 5100 = 20736

@proddy
Copy link
Collaborator

proddy commented Dec 22, 2018

I want to understand why my code is telling you boilTemp is 2073.6. To do this I need to see the full 0x19 broadcast message.

@carcass
Copy link

carcass commented Dec 22, 2018

please check my comment
Thermostat sends a request for 2 bytes with 0 offset -- outside temperature
Boiler responds with 8000 (NOT SET) and CRC is 51
your code does:
EMS_Boiler.boilTemp = _toFloat(2, data); // 0x8000 if not available
byte 2 is 51
byte 3 is not set
hex 5100 = 20736

@proddy
Copy link
Collaborator

proddy commented Dec 22, 2018

that's correct. But the boilTemp is never set at this point, only when a full 0x19 broadcast is received.

@carcass
Copy link

carcass commented Dec 22, 2018

I don't see anything that would prevent this code from running upon receiving 0x19 telegram from boiler with length >=5 and correct crc

@proddy
Copy link
Collaborator

proddy commented Dec 22, 2018

aah, yes you're right! The code would process any known data type regardless of whether its destination is us or another device (like the thermostat). This is fixed in my latest version which I'll check in shortly. Thanks for finding the bug!

@proddy
Copy link
Collaborator

proddy commented Dec 22, 2018

fixed in latest build.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants