emsesp / EMS-ESP

ESP8266 firmware to read and control EMS and Heatronic compatible equipment such as boilers, thermostats, solar modules, and heat pumps
https://emsesp.github.io/docs
GNU Lesser General Public License v3.0
300 stars 96 forks source link

RC300 - setpoint temp is 0.0 C when mode is set (day, night, auto) #256

Closed ekivel closed 4 years ago

ekivel commented 4 years ago

Hello,

Here is the info from the console of the device: Thermostat stats: Thermostat: RC300/RC310/Moduline 3000/Bosch CW400/W-B Sense II (DeviceID:0x10 ProductID:158 Version:33.04) Thermostat time is 13:23:14 09/12/2019 Heating Circuit 1 Current room temperature: 21.9 C Setpoint room temperature: 0.0 C Mode is set to auto Day Mode is set to night

I am ready to help with the debug, just let me know pls which telegrams to capture.

Here are the current logs with log t:

(13:40:07) Thermostat -> UBAMaster, type 0x35, telegram: 90 08 35 00 11 01 (CRC=A9) #data=2 (13:40:07) Thermostat -> UBAMaster, type 0x35, telegram: 90 08 35 03 37 (CRC=74) #data=1 (13:40:10) Thermostat -> All, type 0x01A5, telegram: 90 00 FF 0F 01 A5 01 91 (CRC=FD) #data=2 Publishing thermostat data via MQTT (13:40:10) Thermostat -> All, type 0x01A5, telegram: 90 00 FF 0D 01 A5 00 4F (CRC=01) #data=2 Publishing thermostat data via MQTT (13:40:10) Thermostat -> All, type 0x01A5, telegram: 90 00 FF 08 01 A5 00 4F (CRC=51) #data=2 Publishing thermostat data via MQTT Fetching data from EMS devices Publishing boiler data via MQTT Publishing hot water and heating states via MQTT Publishing thermostat data via MQTT (13:40:13) Thermostat -> Me, type 0x01A5, telegram: 90 0B FF 00 01 A5 00 DB 23 00 00 00 00 2E 00 4F 01 01 03 00 4F 01 91 00 00 11 01 00 08 8E 00 (CRC=A8) #data=25 Publishing thermostat data via MQTT (13:40:14) Thermostat -> Me, telegram: 90 0B FF 00 01 A6 (CRC=18) (13:40:14) Thermostat -> Me, telegram: 90 0B FF 00 01 A7 (CRC=19) (13:40:14) Thermostat -> Me, telegram: 90 0B FF 00 01 A8 (CRC=16) (13:40:14) Thermostat -> Me, type 0x06, telegram: 90 0B 06 00 13 0C 0D 09 29 07 00 00 10 FF 00 (CRC=95) #data=11

thx

sq4bja commented 4 years ago

I found the same in 1.9.5b29 - no setpoint room after autoswitch heating into nighttime/eco (working with lower temperature). Currently b30 still doesn`t show boiler temperature. I every beta version i have a big issues with webcontrol. I can login after log time pressing F5 on and on.

sq4bja commented 4 years ago

I don't know, when Hot tap water indicator is working, but now i`m running warm wather heating manualy and indicator still shows off:: Hot tap water: off

martinSezman commented 4 years ago

I think EMS-ESP should get Setpoint room temperature from telegram 01A5,01A6.. send 0B 90 FF 03 01 01 A6 - get current Setpoint room temperature send 0B 90 FF 07 01 01 A6 - get next Setpoint room temperature ( should be hide for manual mode)

I noticed also some new value in offset 10 of 01A6 telegram if is set temporary temperature (works if thermostat is in Auto mode only) by

send 0B 10 FF 08 01 BA 27 ( set temporary 19.5)

Request send 0B 90 FF 0A 01 01 A6

10 00 FF 0A 01 A6 05

bit3: 1-temporary temp ?

moustic999 commented 4 years ago

@proddy 1.9.5b30 do not show Setpoint room temperature if thermostat is in Auto mode. there is question mark. After switch to Manual mode is OK. But after switch again to Auto, temperature value stay on Manual setpoint.

I don't have the same behavior on my system, The setpoint temp is always shown And I use it a lot. I remain always in auto mode and I increase the setpoint when I need

martinSezman commented 4 years ago

I don't have the same behavior on my system, The setpoint temp is always shown And I use it a lot. I remain always in auto mode and I increase the setpoint when I need

It worked for me when I had b28 or earlier, but for b29 and b30 it don't

moustic999 commented 4 years ago

It worked for me when I had b28 or earlier, but for b29 and b30 it don't everything works fine for me in b29, not yet tried b30

proddy commented 4 years ago

I made a change in b30 that only the setpoint would be read (offset 4) from 0x01A5 when its in day mode. So this is probably why it shows as ? when in Auto. I'm not sure where to find the setpoint when in Auto - could this offset 7?

Can someone help?

e.g.

10 00 FF 00 01 A5 80 00 01 30 28 00 30 28 01 54 03 03 01 01 54 02 A8 00 00 11 01 03 FF FF 00
                                    ^
                                    |
                                 offset 7
moustic999 commented 4 years ago

01a5 does not contains temp levels. Only current temp is there.... whatever the mode ... I will check my notes to find the command to get temp levels...

Envoyé depuis mon smartphone Samsung Galaxy.

-------- Message d'origine -------- De : Proddy notifications@github.com Date : 11/02/20 20:41 (GMT+01:00) À : proddy/EMS-ESP EMS-ESP@noreply.github.com Cc : Ludovic Laurent moustic999@msn.com, Mention mention@noreply.github.com Objet : Re: [proddy/EMS-ESP] RC300 - setpoint temp is 0.0 C when mode is set (day, night, auto) (#256)

I made a change in b30 that only the setpoint would be read (offset 4) from 0x01A5 when its in day mode. So this is probably why it shows as ? when in Auto. I'm not sure where to find the setpoint when in Auto - could this offset 7?

Can someone help?

e.g.

10 00 FF 00 01 A5 80 00 01 30 28 00 30 28 01 54 03 03 01 01 54 02 A8 00 00 11 01 03 FF FF 00 ^ | offset 7

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fproddy%2FEMS-ESP%2Fissues%2F256%3Femail_source%3Dnotifications%26email_token%3DACLI2P5FCSZYRX4J5LSBUDTRCL5P7A5CNFSM4JYIRCUKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOELNZE4Y%23issuecomment-584815219&data=02%7C01%7C%7C08d31c580c9f40f7307508d7af2a71a5%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637170469136467598&sdata=1MxFBbGvbM3hF8rbcXKP0NIr5WWgHdIck9FfKq8aPa4%3D&reserved=0, or unsubscribehttps://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FACLI2P2WWWHBZZEGHQZIJ2DRCL5P7ANCNFSM4JYIRCUA&data=02%7C01%7C%7C08d31c580c9f40f7307508d7af2a71a5%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637170469136467598&sdata=v1NTNjA%2BbBd6mzmqcXpOMArbrwZxXBXHHOYU30U1z4Q%3D&reserved=0.

proddy commented 4 years ago

in 01A5 there's also the next setpoint temp when in auto mode, at offset 8 (data[7] in my code). Maybe this is the one?

https://emsesp.github.io/docs/#/RC3xx-Thermostats?id=type-01a5

moustic999 commented 4 years ago

No, there is a specific way to get calendar and configured temps for each levels, when I will have access to my gateway and my notes I will recheck

Envoyé depuis mon smartphone Samsung Galaxy.

-------- Message d'origine -------- De : Proddy notifications@github.com Date : 11/02/20 21:30 (GMT+01:00) À : proddy/EMS-ESP EMS-ESP@noreply.github.com Cc : Ludovic Laurent moustic999@msn.com, Mention mention@noreply.github.com Objet : Re: [proddy/EMS-ESP] RC300 - setpoint temp is 0.0 C when mode is set (day, night, auto) (#256)

in 01A5 there's also the next setpoint temp when in auto mode, at offset 8 (data[7] in my code). Maybe this is the one?

https://emsesp.github.io/docs/#/RC3xx-Thermostats?id=type-01a5https://eur04.safelinks.protection.outlook.com/?url=https%3A%2F%2Femsesp.github.io%2Fdocs%2F%23%2FRC3xx-Thermostats%3Fid%3Dtype-01a5&data=02%7C01%7C%7C190a6c60a2af4bfef10808d7af3149c7%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637170498525403019&sdata=6xbsu%2FDWmiwHiJrZ%2Bkro3d5vEMDZ2pZe1neS08i4%2FTU%3D&reserved=0

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://eur04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fproddy%2FEMS-ESP%2Fissues%2F256%3Femail_source%3Dnotifications%26email_token%3DACLI2P57GM6UI2H6UHBY6NDRCMDHXA5CNFSM4JYIRCUKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOELN6L7I%23issuecomment-584836605&data=02%7C01%7C%7C190a6c60a2af4bfef10808d7af3149c7%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637170498525413023&sdata=de43aD%2FexsoQAAJ8YeqPH9xSMdyMkDem6Ns%2FQdFDbRQ%3D&reserved=0, or unsubscribehttps://eur04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FACLI2P3O2OXYEBDGBAXCZTTRCMDHXANCNFSM4JYIRCUA&data=02%7C01%7C%7C190a6c60a2af4bfef10808d7af3149c7%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637170498525413023&sdata=Qm1kbOaIrdd3Jm%2BX6Y%2FyN290UJppEnNjKsWz%2FAoBUzs%3D&reserved=0.

martinSezman commented 4 years ago

@proddy the telegram 01A5 is well documented on your wiki [https://emsesp.github.io/docs/#/RC3xx-Thermostats?id=type-01a5]. And RC300/RC310 thermostat works exactly in this way

no matter what is current mode (manual or auto,) telegram 01A5 contain current and next set point. offset 3 = current set point - known also as comport or day temperature offset 7 = next temperature set point. known also as eco or night temperature For manual mode offset3=offset7.

in addition offset 9 + offset 10 - give remaining time until nearest change point in the schedule

You can also get temperature levels from telegram 01B9: offset 2 - comfort2 level = Auto Day temp offset 4 - eco level = Auto Night temp offset 8 - temporary setpoint temperature = Auto - temporary temp changed by user . it will be valid until nearest change point in the schedule offset 10 - manual setpoint temperature

martinSezman commented 4 years ago

Please look at logs from my RC310. HC2 (01A6) in manual mode. offset3=offset7=20 = 16 (22:01:55) 10 0B FF 00 01 A6 00 A4 21 20 15 00 20 20 05 A0 02 01 03 02 57 01 69 00 00 11 01 02 06 64 00

HC2 (01A6) in auto mode (night/eco). current=offset3=1C=14 offset7=1D=14.5 (22:08:55) 10 0B FF 00 01 A6 00 A4 21 1C 15 00 1C 1D 02 50 01 01 03 02 50 01 70 00 00 11 01 04 06 64 00

and also telegram 01BA (for HC2) - look at offset 2,4 and 10. 22:15:42) 10 0B FF 00 01 BA FF 28 1D 28 1C 03 00 FF FF 00 20 01 E1 20 01 0F 05 00 00 01 22

proddy commented 4 years ago

thanks @martinSezman , this is all starting to make sense now.

So $1M question is: what should be displayed in the telnet window and what should be published in the MQTT topic?

moustic999 commented 4 years ago

For me, what is the most important : in mqtt/telnet is current setpoint and current mode (auto or manual)

Showing eco comfort, is great but just informative as you can t really do anything with. It is not possible to switch from eco -> comfort -> eco.... . So for me, it is a nice to have feature.

Envoyé depuis mon smartphone Samsung Galaxy.

-------- Message d'origine -------- De : Proddy notifications@github.com Date : 12/02/20 12:55 (GMT+01:00) À : proddy/EMS-ESP EMS-ESP@noreply.github.com Cc : Ludovic Laurent moustic999@msn.com, Mention mention@noreply.github.com Objet : Re: [proddy/EMS-ESP] RC300 - setpoint temp is 0.0 C when mode is set (day, night, auto) (#256)

thanks @martinSezmanhttps://eur04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FmartinSezman&data=02%7C01%7C%7C6f0be1a27e8840fd621608d7afb284af%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637171053565811082&sdata=9zShkM1v3SEZchMxYZiBSmQsBSSL7Jt3C7DLyW5gZlg%3D&reserved=0 , this is all starting to make sense now.

So $1M question is: what should be displayed in the telnet window and what should be published in the MQTT topic?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://eur04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fproddy%2FEMS-ESP%2Fissues%2F256%3Femail_source%3Dnotifications%26email_token%3DACLI2PZESK6MHORUETAZYTDRCPPUXA5CNFSM4JYIRCUKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOELQQDYQ%23issuecomment-585171426&data=02%7C01%7C%7C6f0be1a27e8840fd621608d7afb284af%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637171053565811082&sdata=KLuVbQ%2BRf%2FgYUs4KcfxVhW7DH7Az%2FqsonFBh5z81giA%3D&reserved=0, or unsubscribehttps://eur04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FACLI2P55YKBT6Z2CIRBPFUTRCPPUXANCNFSM4JYIRCUA&data=02%7C01%7C%7C6f0be1a27e8840fd621608d7afb284af%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637171053565821090&sdata=O99AtNYyyDpO4lLog2f7wwkKv7iLadmtg66Gx%2FZgJ%2BU%3D&reserved=0.

martinSezman commented 4 years ago

For now I'm operate via telnet only , so for me is very important to have current and full information status in telnet. For me:

of course I would like to see more informations like HC Summer/Winter/Auto mode (telegram 01AF), temporary temperature change in Auto mode, hour of next temperature change, hour of previous temperature change and so on. I believe that it will be possible to add these functions in the future.

Regarding MQTT, I'm using this protocol to collecting data in influxdb and visualise them in Grafana. For now I have everything what I need. I think is worth considering to give users configuration option to choice values present in MQTT.

proddy commented 4 years ago

1.9.5b32 has the first changes based on your comments above

sq4bja commented 4 years ago

Boiler temperature still doesn`t work: Outside temperature: 0.4 C Boiler temperature: ? C Exhaust temperature: ? C Pump modulation: 64 %

proddy commented 4 years ago

That has nothing to do with this RC300 thermostat issue. Please create a new issue and provide details of your boiler. Note some non Buderus boilers don’t expose the boiler temp.

On Thu, 13 Feb 2020 at 18:41, sq4bja notifications@github.com wrote:

Boiler temperature still doesn`t work: Outside temperature: 0.4 C Boiler temperature: ? C Exhaust temperature: ? C Pump modulation: 64 %

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/proddy/EMS-ESP/issues/256?email_source=notifications&email_token=AAJMO6G7DHI6IBVSUKLQ4G3RCWA6NA5CNFSM4JYIRCUKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOELV5TCY#issuecomment-585881995, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAJMO6FOULMEYWTRCLGHZYLRCWA6NANCNFSM4JYIRCUA .

sq4bja commented 4 years ago

Sorry, but in beta 28 it works. I`m using Buderus GB072 and RC310 controller.

proddy commented 4 years ago

@sq4bja I want to keep this issue focused on fixing the setpoint issue on an RC3x0 thermostat, as the title indicates. If there is a bug with the boiler temp then great that you found it but please create a separate issue. Otherwise we'll be mixing up topics.

moustic999 commented 4 years ago

works fine for me : (1.9.5b32) Thermostat data: Thermostat: RC300/RC310/Moduline 3000/Bosch CW400/W-B Sense II (DeviceID:0x10 ProductID:158 Version:11.08) Thermostat time is 20:47:24 13/02/2020 Heating Circuit 1 Current room temperature: ? C Setpoint room temperature: 21.0 C Mode is set to auto Mode type is set to comfort

martinSezman commented 4 years ago

many thanks @proddy

there is some issue. info shows setpoint 16 when currently for auto mod is 14. Please find below info result and 01A6 telegram for HC2. Heating Circuit 2 Current room temperature: 16.5 C Setpoint room temperature: 16.0 C Mode is set to auto Mode type is set to eco (22:35:53) 10 0B FF 00 01 A6 00 A5 21 1C 11 00 1C 1D 02 35 01 01 03 02 35 01 8B 00 00 11 01 04 06 77 00

@sq4bja is right. setpoint works correctly in b28: Heating Circuit 2 Current room temperature: 16.5 C Setpoint room temperature: 14.0 C Mode is set to auto Day Mode is set to night

martinSezman commented 4 years ago

I suspect issue in commit 55225f702857824a7f2102c77ee7b0890b858a5c in this place: // setpoint as in position 3 and also 6 (EMS_OFFSET_RCPLUSStatusMessage_currsetpoint). We're sticking to 3 for now. // don't fetch temp if in nightmode if (EMS_Thermostat.hc[hc].day_mode) { _setValue8(EMS_RxTelegram, &EMS_Thermostat.hc[hc].setpoint_roomTemp, EMS_OFFSET_RCPLUSStatusMessage_setpoint); // convert to single byte, value is * 2 }

proddy commented 4 years ago

@martinSezman ok, now you're confusing me! You said earlier

'current setpoint' - (offsets 3) - important 'next temperature' (offsets 7) - important - should be visible in Auto mode only

But there can only be 1 setpoint, so displaying both is confusing. Correct?

If so, should the logic therefore be:

moustic999 commented 4 years ago

Offset 3 is the current setpoint, and must be always shown, as today....

Envoyé depuis mon smartphone Samsung Galaxy.

-------- Message d'origine -------- De : Proddy notifications@github.com Date : 14/02/20 11:53 (GMT+01:00) À : proddy/EMS-ESP EMS-ESP@noreply.github.com Cc : Ludovic Laurent moustic999@msn.com, Mention mention@noreply.github.com Objet : Re: [proddy/EMS-ESP] RC300 - setpoint temp is 0.0 C when mode is set (day, night, auto) (#256)

@martinSezmanhttps://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FmartinSezman&data=02%7C01%7C%7C03acde10ecd24e51935e08d7b13c2342%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637172744162799584&sdata=2eQLiNV15IwbENNdvTSW6Cd8nmtfGOqW9eyMVbD%2Fkds%3D&reserved=0 ok, now you're confusing me! You said earlier

'current setpoint' - (offsets 3) - important 'next temperature' (offsets 7) - important - should be visible in Auto mode only

But there can only be 1 setpoint, so displaying both is confusing. Correct?

If so, should the logic therefore be:

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fproddy%2FEMS-ESP%2Fissues%2F256%3Femail_source%3Dnotifications%26email_token%3DACLI2P6BN3QWMEVZXJ55QMTRCZZ23A5CNFSM4JYIRCUKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOELYNORI%23issuecomment-586209093&data=02%7C01%7C%7C03acde10ecd24e51935e08d7b13c2342%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637172744162809691&sdata=h0MzNLPudO2jF6FMVzGQIG1FyiLf0NjphWt8S8k%2FUrI%3D&reserved=0, or unsubscribehttps://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FACLI2P623ILF3LXLOHOLQFLRCZZ23ANCNFSM4JYIRCUA&data=02%7C01%7C%7C03acde10ecd24e51935e08d7b13c2342%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637172744162809691&sdata=hJr2oItOFxtrbccPF2mAXZW3%2Bt2VBPtUXYDfdJPm%2Fr0%3D&reserved=0.

martinSezman commented 4 years ago

current setpoint is always in offset 3. Now, in b33 it works very well. Thanks ! offset 7 and other options you can ignore for now. We can back to this matter later. We are waiting for EMS-ESP v2 ;)

proddy commented 4 years ago

closing, if setpoint comes back as 0.0 then we'll reopen. I want to get 1.9.5 out so I can focus on 2.0.