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

Control both HC1 & HC2 at the same time in Home Assistant (MQTT) #162

Closed
Frederik-V opened this issue Jul 24, 2019 · 108 comments
Closed

Control both HC1 & HC2 at the same time in Home Assistant (MQTT) #162

Frederik-V opened this issue Jul 24, 2019 · 108 comments
Labels
enhancement New feature or request

Comments

@Frederik-V
Copy link

Frederik-V commented Jul 24, 2019

I'm pretty new on this fora and starting to explore the possibilities of the EMS-ESP.
On top, I'm a Home Assistant (HA) user in order to control my home domotica.

I was very enthusiastic to read on the fora that it is possible to control the 2 heating circuits.
I'm using HC1 for radiators in the bedrooms & bathroom (level 1), HC2 as floor heating (level 0).

Is there a possibility to control both Heating Circuits at the same time with MQTT?
Meaning, having two thermostat control systems in the Home Assistant GUI.
Now you need to switch all the time between the Heating Circuits in order to read out the temperature and the heating settings.

@Frederik-V Frederik-V added the enhancement New feature or request label Jul 24, 2019
@proddy
Copy link
Collaborator

proddy commented Jul 24, 2019

Hi @Frederik-V, yes it's possible to extend the MQTT to support multiple Heating Circuits. Easiest is to have two sets of MQTT messages so you can add two climate components to HA.

It would need some additional code changes to fetch the thermostat values from the multiple HCs and store them. The difficulty is always testing these. Are you comfortable making code changes yourself to EMS-ESP ?

@Frederik-V
Copy link
Author

Frederik-V commented Jul 25, 2019

Hi @proddy, unfortunately I do not have any experience to make code changes into the EMS-ESP.
On the other hand, support with testing of the changes and making some example's in HA, should be not an issue!
Just to complete my question, I'm using a Buderus RC35 thermostat.

@lmdecroos
Copy link

Hi proddy,

I have a Buderus with 2 heat circuits and 2 separate thermostats an RC35 as main device and RMF20 for the first floor.
With version 1.8.x the gateway is randomly reading the of one of the thermostats. It doesn't take the Heat Circuit setting in account from the settings

Screenshot 2019-08-26 at 11 39 24

As you can see in the screenshot the temperature is switching between the 2 locations

Hope you able to enhance the software that the HC setting is linked to a dedicated thermostat and will be able to read out both independently

Thanks in advance

@proddy
Copy link
Collaborator

proddy commented Sep 7, 2019

This a bug, I'll add some extra functionality to read multiple heating circuits to the dev build

@proddy
Copy link
Collaborator

proddy commented Sep 7, 2019

@lmdecroos I'm adding supporting for multiple Heating Circuits. Adding additional thermostats will be more work. Can you answer these questions

  • does EMS-ESP detect both your RC35 thermostats?
  • do each of the thermostats report value for both the 2 heating circuits?
  • can you do a 'log t' and send me some examples of telegrams 0x3E (HC1) and 0x48 (HC2) so I can build some test data. I don't have an RC35 so it'll be a lot of trial and error. be prepared to do a lot of testing!

proddy added a commit that referenced this issue Sep 7, 2019
@lmdecroos
Copy link

lmdecroos commented Sep 7, 2019 via email

@proddy
Copy link
Collaborator

proddy commented Sep 7, 2019

I spent some time today to implement handling of multiple HCs independently. It's checked into the dev branch 1.9.1 so give it whirl. It's far from perfect and I still need to decide on the mqtt format for driving multiple heating circuits.

@lmdecroos
Copy link

lmdecroos commented Sep 9, 2019 via email

@proddy
Copy link
Collaborator

proddy commented Sep 10, 2019

@lmdecroos When EMS-ESP starts it will auto-detect all known devices, this only happens once and should take a few seconds. If the Tx is not working this will fail, but shouldn't repeat. You can try different tx_modes (1 is default, 2 is EMS+ and 3 is Junkers). I've seen others report back that 1.9 keeps crashing but I cannot reproduce and I have no example logs, stacks etc to help pinpoint the issue. Is it really crashing (i.e. resetting)? See https://github.com/proddy/EMS-ESP/wiki/Troubleshooting

@lmdecroos
Copy link

lmdecroos commented Sep 10, 2019 via email

@proddy
Copy link
Collaborator

proddy commented Sep 11, 2019

@lmdecroos could you create a separate issue for this problem as this one is related to a feature request to support multiple heating circuits.

@lmdecroos
Copy link

lmdecroos commented Sep 11, 2019 via email

@lmdecroos
Copy link

lmdecroos commented Sep 12, 2019 via email

@proddy
Copy link
Collaborator

proddy commented Sep 13, 2019

You don’t need to set the heating circuit anymore. It should detect readings on up to 4 HCs automatically. I forgot to remove it from the web interface.

@proddy
Copy link
Collaborator

proddy commented Sep 14, 2019

see also https://github.com/proddy/EMS-ESP/wiki/MQTT on how to use MQTT to control multiple heating circuits.

@lmdecroos
Copy link

lmdecroos commented Sep 14, 2019 via email

@susisstrolch
Copy link

susisstrolch commented Sep 14, 2019 via email

@lmdecroos
Copy link

lmdecroos commented Sep 14, 2019 via email

@proddy
Copy link
Collaborator

proddy commented Sep 15, 2019

Please create a new GitHub issue for the reboot problems. From the log I see the devices are detected correctly so something else is causing the crash, either the MQTT or the Event Log.

@proddy proddy closed this as completed Sep 15, 2019
@majdzik84
Copy link

I have version 1.9.1b3.
I wanted to check if the RC35 temperature was in auto mode. (0.0C)
I see that it is no longer possible to switch heating circuits. By default, I see HC1 and want HC2 - how can I change it?

Additionally, I noticed that the web interface is very unstable (hangs)
1

@proddy
Copy link
Collaborator

proddy commented Sep 17, 2019

@majdzik84 all heating circuits should be detected and shown. What's strange is that you don't get any listed under the 'Thermostat stats' page?

The code picks up messages from telegram types 0x3E (HC1), 0x48 (HC2), 0x52 (HC3) and 0x5C (HC4)

I can't test when I make these changes and do my best to simulate what it would look like on the multitude of thermostat models so any test data would be helpful. Even better are code changes ;)

@proddy proddy reopened this Sep 17, 2019
@majdzik84
Copy link

below I am sending a log - maybe it will be helpful in something

log t
System Logging set to Thermostat only
Publishing boiler data via MQTT
Publishing hot water and heating states via MQTT
Requesting scheduled EMS device data
(04:06:02.034) Thermostat -> me, type 0x3E, telegram: 10 0B 3E 00 00 00 00 7D 00 00 00 00 00 00 00 00 00 11 05 04 (CRC=ED) #data=16
(04:06:02.440) Thermostat -> me, type 0x3D, telegram: 10 0B 3D 00 01 2B 39 26 00 28 00 02 00 05 05 2D 01 01 04 3C 06 39 01 00 3C FF 0D 05 05 03 00 (CRC=8F) #data=27
(04:06:02.908) Thermostat -> me, type 0x48, telegram: 10 0B 48 00 00 00 00 00 E4 00 00 00 00 00 00 00 00 11 05 04 (CRC=45) #data=16
(04:06:03.315) Thermostat -> me, type 0x47, telegram: 10 0B 47 00 03 13 15 26 0A 28 00 02 00 05 05 2D 01 01 04 4B 05 4B 01 00 3C FF 0D 05 05 02 02 (CRC=FD) #data=27
(04:06:03.784) Thermostat -> me, type 0x52, telegram: 10 0B 52 00 00 00 00 00 00 00 00 00 00 00 00 00 00 11 00 00 (CRC=B6) #data=16
** [DEBUG MODE] Warning, we missed the bus - Rx non-idle!
(04:06:04.191) Thermostat -> me, type 0x51, telegram: 10 0B 51 00 00 13 15 26 00 28 00 02 00 05 05 2D 01 01 04 4B 05 4B 01 00 3C FF 11 05 05 03 02 (CRC=1E) #data=27
(04:06:04.659) Thermostat -> me, type 0x5C, telegram: 10 0B 5C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 11 00 00 (CRC=C0) #data=16
Publishing boiler data via MQTT
(04:06:05.066) Thermostat -> me, type 0x5B, telegram: 10 0B 5B 00 00 13 15 26 00 28 00 02 00 05 05 2D 01 01 04 4B 05 4B 01 00 3C FF 11 05 05 03 02 (CRC=6C) #data=27
Publishing boiler data via MQTT
(04:06:05.514) Thermostat -> me, type 0x06, telegram: 10 0B 06 00 13 09 11 12 34 34 02 01 (CRC=43) #data=8
(04:06:05.905) Thermostat -> all, type 0xA3, telegram: 10 00 A3 00 10 00 00 00 E4 00 EA 00 EA 7D 00 7D 00 (CRC=24) #data=13
(04:06:10.376) Thermostat -> 0x08, type 0x1A, telegram: 10 08 1A 00 00 00 00 00 (CRC=91) #data=4
** [DEBUG MODE] Warning, we missed the bus - Rx non-idle!
(04:06:21.002) Thermostat -> 0x21, type 0xAC, telegram: 10 21 AC 00 05 00 03 (CRC=0D) #data=3
** [DEBUG MODE] Warning, we missed the bus - Rx non-idle!
(04:06:28.869) Thermostat -> 0x08, type 0x14, telegram: 10 88 14 00 03 (CRC=6E) #data=1
(04:06:28.888) 0x08 -> Thermostat, type 0x14, telegram: 08 10 14 00 17 7A 48 (CRC=B9) #data=3
(04:06:31.121) Thermostat -> 0x08, type 0x35, telegram: 10 08 35 00 01 01 (CRC=00) #data=2
(04:06:44.765) Thermostat -> all, type 0x06, telegram: 10 00 06 00 13 09 11 12 35 1F 02 01 (CRC=40) #data=8
** [DEBUG MODE] Warning, we missed the bus - Rx non-idle!
(04:06:49.659) Thermostat -> all, type 0x48, telegram: 10 00 48 00 00 00 00 00 E4 00 00 00 00 00 00 00 00 11 05 04 (CRC=2D) #data=16
Publishing boiler data via MQTT
(04:06:54.159) Thermostat -> all, type 0x3E, telegram: 10 00 3E 00 00 00 00 7D 00 00 00 00 00 00 00 00 00 11 05 04 (CRC=85) #data=16
Requesting scheduled EMS device data
(04:07:00.657) Thermostat -> me, type 0x3E, telegram: 10 0B 3E 00 00 00 00 7D 00 00 00 00 00 00 00 00 00 11 05 04 (CRC=ED) #data=16
(04:07:01.189) Thermostat -> me, type 0x3D, telegram: 10 0B 3D 00 01 2B 39 26 00 28 00 02 00 05 05 2D 01 01 04 3C 06 39 01 00 3C FF 0D 05 05 03 00 (CRC=8F) #data=27
(04:07:02.033) Thermostat -> me, type 0x48, telegram: 10 0B 48 00 00 00 00 00 E4 00 00 00 00 00 00 00 00 11 05 04 (CRC=45) #data=16
(04:07:02.440) Thermostat -> me, type 0x47, telegram: 10 0B 47 00 03 13 15 26 0A 28 00 02 00 05 05 2D 01 01 04 4B 05 4B 01 00 3C FF 0D 05 05 02 02 (CRC=FD) #data=27
(04:07:02.783) Thermostat -> me, type 0x52, telegram: 10 0B 52 00 00 00 00 00 00 00 00 00 00 00 00 00 00 11 00 00 (CRC=B6) #data=16
(04:07:03.315) Thermostat -> me, type 0x51, telegram: 10 0B 51 00 00 13 15 26 00 28 00 02 00 05 05 2D 01 01 04 4B 05 4B 01 00 3C FF 11 05 05 03 02 (CRC=1E) #data=27
(04:07:03.783) Thermostat -> me, type 0x5C, telegram: 10 0B 5C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 11 00 00 (CRC=C0) #data=16
Publishing boiler data via MQTT
(04:07:04.190) Thermostat -> me, type 0x5B, telegram: 10 0B 5B 00 00 13 15 26 00 28 00 02 00 05 05 2D 01 01 04 4B 05 4B 01 00 3C FF 11 05 05 03 02 (CRC=6C) #data=27
Publishing boiler data via MQTT
(04:07:04.514) Thermostat -> me, type 0x06, telegram: 10 0B 06 00 13 09 11 12 35 33 02 01 (CRC=57) #data=8
(04:07:06.154) Thermostat -> all, type 0xA3, telegram: 10 00 A3 00 10 00 00 00 E4 00 EA 00 EA 7D 00 7D 00 (CRC=24) #data=13
(04:07:10.500) Thermostat -> 0x08, type 0x1A, telegram: 10 08 1A 00 00 00 00 00 (CRC=91) #data=4
(04:07:21.126) Thermostat -> 0x21, type 0xAC, telegram: 10 21 AC 00 05 00 03 (CRC=0D) #data=3
^C(04:07:31.621) Thermostat -> 0x08, type 0x35, telegram: 10 08 35 00 01 01 (CRC=00) #data=2
** [DEBUG MODE] Warning, we missed the bus - Rx non-idle!
(04:07:45.264) Thermostat -> all, type 0x06, telegram: 10 00 06 00 13 09 11 12 36 1F 02 01 (CRC=58) #data=8
(04:07:49.908) Thermostat -> all, type 0x48, telegram: 10 00 48 00 00 00 00 00 E4 00 00 00 00 00 00 00 00 11 05 04 (CRC=2D) #data=16
Publishing boiler data via MQTT
(04:07:54.408) Thermostat -> all, type 0x3E, telegram: 10 00 3E 00 00 00 00 7D 00 00 00 00 00 00 00 00 00 11 05 04 (CRC=85) #data=16
Publishing boiler data via MQTT
** [DEBUG MODE] Warning, we missed the bus - Rx non-idle!
Publishing boiler data via MQTT
Publishing hot water and heating states via MQTT
Requesting scheduled EMS device data
(04:08:01.781) Thermostat -> me, type 0x3E, telegram: 10 0B 3E 00 00 00 00 7D 00 00 00 00 00 00 00 00 00 11 05 04 (CRC=ED) #data=16
(04:08:02.189) Thermostat -> me, type 0x3D, telegram: 10 0B 3D 00 01 2B 39 26 00 28 00 02 00 05 05 2D 01 01 04 3C 06 39 01 00 3C FF 0D 05 05 03 00 (CRC=8F) #data=27
(04:08:02.532) Thermostat -> me, type 0x48, telegram: 10 0B 48 00 00 00 00 00 E4 00 00 00 00 00 00 00 00 11 05 04 (CRC=45) #data=16
(04:08:03.063) Thermostat -> me, type 0x47, telegram: 10 0B 47 00 03 13 15 26 0A 28 00 02 00 05 05 2D 01 01 04 4B 05 4B 01 00 3C FF 0D 05 05 02 02 (CRC=FD) #data=27
(04:08:03.532) Thermostat -> me, type 0x52, telegram: 10 0B 52 00 00 00 00 00 00 00 00 00 00 00 00 00 00 11 00 00 (CRC=B6) #data=16
(04:08:03.939) Thermostat -> me, type 0x51, telegram: 10 0B 51 00 00 13 15 26 00 28 00 02 00 05 05 2D 01 01 04 4B 05 4B 01 00 3C FF 11 05 05 03 02 (CRC=1E) #data=27
(04:08:04.282) Thermostat -> me, type 0x5C, telegram: 10 0B 5C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 11 00 00 (CRC=C0) #data=16
Publishing boiler data via MQTT
** [DEBUG MODE] Warning, we missed the bus - Rx non-idle!
(04:08:04.814) Thermostat -> me, type 0x5B, telegram: 10 0B 5B 00 00 13 15 26 00 28 00 02 00 05 05 2D 01 01 04 4B 05 4B 01 00 3C FF 11 05 05 03 02 (CRC=6C) #data=27
Publishing boiler data via MQTT
(04:08:05.138) Thermostat -> me, type 0x06, telegram: 10 0B 06 00 13 09 11 12 36 33 02 01 (CRC=4F) #data=8
(04:08:06.528) Thermostat -> all, type 0xA3, telegram: 10 00 A3 00 10 00 00 00 E4 00 EA 00 EA 7D 00 7D 00 (CRC=24) #data=13
(04:08:10.624) Thermostat -> 0x08, type 0x1A, telegram: 10 08 1A 00 00 00 00 00 (CRC=91) #data=4
** [DEBUG MODE] Warning, we missed the bus - Rx non-idle!
(04:08:21.500) Thermostat -> 0x21, type 0xAC, telegram: 10 21 AC 00 05 00 03 (CRC=0D) #data=3
(04:08:29.243) Thermostat -> 0x08, type 0x14, telegram: 10 88 14 00 03 (CRC=6E) #data=1
(04:08:29.265) 0x08 -> Thermostat, type 0x14, telegram: 08 10 14 00 17 7A 4A (CRC=BB) #data=3
(04:08:29.406) Thermostat -> all, type 0xA2, telegram: 10 00 A2 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 (CRC=99) #data=14
(04:08:31.870) Thermostat -> 0x08, type 0x35, telegram: 10 08 35 00 01 01 (CRC=00) #data=2

@proddy
Copy link
Collaborator

proddy commented Sep 17, 2019

what I can see is

HC1 = 10 0B 3E 00 00 00 00 7D 00 00 00 00 00 00 00 00 00 11 05 04
HC2 = 10 00 48 00 00 00 00 00 E4 00 00 00 00 00 00 00 00 11 05 04
HC3 = 10 0B 52 00 00 00 00 00 00 00 00 00 00 00 00 00 00 11 00 00
HC4 = 10 0B 5C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 11 00 00

which tells me
HC1 has a setpoint of 0.0 and current temps is not defined
HC2 has a setpoint of 0.0 and a current temp is 22.8
HC3 and HC4 are both not used

Is this in line with what you expect?

proddy added a commit that referenced this issue Sep 17, 2019
@majdzik84
Copy link

the thermostat controls the HC2 circuit (RC35) the current temperature is correct but the setpoint temp. should not show 0.0C. automatic mode was enabled and should be fixed in this version.
HC3 and HC4 - not used

@lmdecroos
Copy link

lmdecroos commented Oct 13, 2019 via email

@proddy
Copy link
Collaborator

proddy commented Oct 13, 2019

sorry, not sure I understand. What is happening and what is the expected behaviour ?

@lmdecroos
Copy link

lmdecroos commented Oct 13, 2019 via email

@proddy
Copy link
Collaborator

proddy commented Oct 13, 2019

still confused, sorry! Is the payload on the thermostat_data correct? If so its up to the MQTT receiver on how to interpret the data. I'm using Home Assistant and with templates it is working.

@lmdecroos
Copy link

lmdecroos commented Oct 13, 2019 via email

@proddy
Copy link
Collaborator

proddy commented Oct 13, 2019

ahh, found the error. very silly of me. I'll do a commit soon.

@lmdecroos
Copy link

lmdecroos commented Oct 14, 2019 via email

@proddy
Copy link
Collaborator

proddy commented Oct 14, 2019

ok closing this issue for now.

@proddy proddy closed this as completed Oct 14, 2019
@majdzik84
Copy link

1.9.2b9

I noticed that setpoint temperature again does not give the correct value in auto-day, auto-night mode.

Example: When changing from OFF (night) mode to auto mode it still shows off-night temperature instead of auto-day.

Should now show 22C (auto-day)
image


> (00:59:10.206) Thermostat -> me, type 0x3E, telegram: 10 0B 3E 00 04 03 00 7D 00 00 00 00 00 00 00 00 00 11 05 00 (CRC=63) #data=16
> (00:59:10.488) Thermostat -> me, type 0x3D, telegram: 10 0B 3D 00 01 2A 2C 26 00 28 00 02 00 05 05 2D 01 01 04 3C 06 39 01 00 3C FF 0D 05 05 03 00 (CRC=3E) #data=27
> Publishing external sensor data via MQTT
> (00:59:11.081) Thermostat -> me, type 0x48, telegram: 10 0B 48 00 04 03 00 00 EF 00 00 00 00 00 00 00 00 11 05 00 (CRC=9C) #data=16
> (00:59:11.613) Thermostat -> me, type 0x47, telegram: 10 0B 47 00 03 28 2C 26 0A 28 00 02 00 05 05 2D 01 01 04 4B 05 4B 01 00 3C FF 0D 05 05 02 02 (CRC=FF) #data=27
> Publishing external sensor data via MQTT
> (00:59:11.957) Thermostat -> me, type 0x52, telegram: 10 0B 52 00 00 00 00 00 00 00 00 00 00 00 00 00 00 11 00 00 (CRC=B6) #data=16
> (00:59:12.363) Thermostat -> me, type 0x51, telegram: 10 0B 51 00 00 28 2C 26 00 28 00 02 00 05 05 2D 01 01 04 4B 05 4B 01 00 3C FF 11 05 05 03 02 (CRC=1C) #data=27
> (00:59:13.332) Thermostat -> me, type 0x5C, telegram: 10 0B 5C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 11 00 00 (CRC=C0) #data=16
> (00:59:14.113) Thermostat -> me, type 0x5B, telegram: 10 0B 5B 00 00 28 2C 26 00 28 00 02 00 05 05 2D 01 01 04 4B 05 4B 01 00 3C FF 11 05 05 03 02 (CRC=6E) #data=27
> (00:59:14.562) Thermostat -> me, type 0x06, telegram: 10 0B 06 00 13 0A 0D 10 1A 24 02 01 (CRC=21) #data=8

@proddy proddy reopened this Oct 16, 2019
@proddy
Copy link
Collaborator

proddy commented Oct 16, 2019

oh no, this again. Did it ever work? The logic is just too difficult to figure out as 1) I don't own an RC35 and 2) I never really understood what auto-day and auto-night really means.

Do you think you could take a look at code and with your example telegrams do a PR ? Otherwise we'll just be going back and forth for weeks and I don't have the time.

@majdzik84
Copy link

majdzik84 commented Oct 16, 2019

unfortunately I am not a programmer. I don't know how to do PR :(

A few versions ago (i thing 1.9.1b11 ) I have the impression that in automatic mode it just jumped between day-temp and night-temp.
RC35 has something like a temporary temperature - but I let it go.

So it's day-temp and night-temp - automatic mode just switches these temperatures (auto-day - shows day temp) and in the evening auto-night (shows nighttemp)

EDIT:
I checked in 1.9.1 stable - unfortunately it is the same - sometimes everything is ok, sometimes not. In this case, we are waiting for someone smart who has rc35 :)

@proddy
Copy link
Collaborator

proddy commented Oct 16, 2019

I can do the programming, I just need someone to create the rules.

The logic now is in ems.cpp function _process_RC35StatusMessage() and goes:

  • look for telegrams with type 3E (HC1) and 48 (HC2)
  • ignore whole telegram is 15th byte of the data block is 0
  • set the setpoint temperature using the 3rd byte of that data block (value is *2), but ignore if value is 0

In your examples the data blocks look like

For 0x3E (HC1): 04 03 00 7D 00 00 00 00 00 00 00 00 00 11 05 00

For 0x48 (HC2): 04 03 00 00 EF 00 00 00 00 00 00 00 00 11 05 00

can you help define what it should be?

@majdzik84
Copy link

Probably, before I get the ideas of bytes, etc. it will pass a little :)
In the meantime, I was able to intercept telegrams after RC35 changed auto-day mode to auto-night.
Maybe it will be helpful to correctly determine the switch point between day and night mode (in auto mode)

Auto-night - RC35
(00:29:12.276) Thermostat -> me, type 0x48, telegram: 10 0B 48 00 04 01 00 00 EE 00 00 00 00 00 00 00 00 00 05 00 (CRC=3C) #data=16

Auto-day - RC35
(00:34:10.506) Thermostat -> me, type 0x48, telegram: 10 0B 48 00 04 03 00 00 F1 00 00 00 00 00 00 00 00 11 05 00 (CRC=24) #data=16

Auto-Day- (change in HA)
(00:24:13.139) Thermostat -> me, type 0x48, telegram: 10 0B 48 00 04 03 00 00 EF 00 00 00 00 00 00 00 00 11 05 00 (CRC=9C) #data=16

Auto-day (change in HA from night mode) < incorrect setpoint (its still night temp)
(00:49:11.492) Thermostat -> me, type 0x48, telegram: 10 0B 48 00 04 03 00 00 F0 00 00 00 00 00 00 00 00 11 05 00 (CRC=EC) #data=16

Auto-day (change in HA from day mode (heat))
(00:54:11.988) Thermostat -> me, type 0x48, telegram: 10 0B 48 00 04 03 00 00 F0 00 00 00 00 00 00 00 00 11 17 00 (CRC=C8) #data=16

Auto-night(change in HA from day mode(heat)) < incorrect setpoint (its still day temp)
(01:26:11.460) Thermostat -> me, type 0x48, telegram: 10 0B 48 00 04 01 00 00 F3 00 00 00 00 00 00 01 00 00 17 00 (CRC=F1) #data=16

@proddy
Copy link
Collaborator

proddy commented Oct 16, 2019

In all those examples, the setpoint temperature is 0.0C. I've highlighted them below:

Auto-night - RC35
telegram: 10 0B 48 00 04 01 00 00 EE 00 00 00 00 00 00 00 00 00 05 00

Auto-day - RC35
telegram: 10 0B 48 00 04 03 00 00 F1 00 00 00 00 00 00 00 00 11 05 00

Auto-Day- (change in HA)
telegram: 10 0B 48 00 04 03 00 00 EF 00 00 00 00 00 00 00 00 11 05 00

Auto-day (change in HA from night mode) < incorrect setpoint (its still night temp)
telegram: 10 0B 48 00 04 03 00 00 F0 00 00 00 00 00 00 00 00 11 05 00

Auto-day (change in HA from day mode (heat))
telegram: 10 0B 48 00 04 03 00 00 F0 00 00 00 00 00 00 00 00 11 17 00

Auto-night(change in HA from day mode(heat)) < incorrect setpoint (its still day temp)
telegram: 10 0B 48 00 04 01 00 00 F3 00 00 00 00 00 00 01 00 00 17 00

But there's another byte we could read adjacent to the setpoint. I'm not sure what it is. I've listed the values below. Can you see if this matches anything you're seeing?

Auto-night - RC35
telegram: 10 0B 48 00 04 01 00 00 EE 00 00 00 00 00 00 00 00 00 05 00 (value 23.8)

Auto-day - RC35
telegram: 10 0B 48 00 04 03 00 00 F1 00 00 00 00 00 00 00 00 11 05 00 (value 24,1)

Auto-Day- (change in HA)
telegram: 10 0B 48 00 04 03 00 00 EF 00 00 00 00 00 00 00 00 11 05 00 (value 23,9)

Auto-day (change in HA from night mode) < incorrect setpoint (its still night temp)
telegram: 10 0B 48 00 04 03 00 00 F0 00 00 00 00 00 00 00 00 11 05 00 (value 24)

Auto-day (change in HA from day mode (heat))
telegram: 10 0B 48 00 04 03 00 00 F0 00 00 00 00 00 00 00 00 11 17 00 (value 24)

Auto-night(change in HA from day mode(heat)) < incorrect setpoint (its still day temp)
telegram: 10 0B 48 00 04 01 00 00 F3 00 00 00 00 00 00 01 00 00 17 00 (value 24,3)

@majdzik84
Copy link

Yes.I think it's current room temperature
image

@proddy
Copy link
Collaborator

proddy commented Oct 16, 2019

From each of the examples I need to know what the expected setpoint values should be, so I can hunt them down in the telegrams.

@lmdecroos
Copy link

lmdecroos commented Oct 16, 2019 via email

@majdzik84
Copy link

Of course, the temperatures work correctly.

  • In night mode it is ok
  • In day mode it is ok.
  • How to manually set the knob on RC35 the set temperature in auto mode is also ok.
    This is the so-called temporary temperature, which is displayed only until the next switching point (that's why the telegram shows 0.0C because it was not set).

After thinking, I think that it is easier to control the thermostat, e.g. in Home assistant by simply setting the day or night temperature because the auto mode switches them on at the appropriate times.

I think Proddy once inserted a dependency.

If in auto mode set temperature = 0.0C show day temp or night temp (depending on rc35 is in auto-day or auto-night mode).

The problem is that if the night mode 20C switched to auto mode (which is currently in daytime auto mode) then the temperature does not change to 22C (day temp) but remains at 20C.
Is it possible to read the current status of the automatic mode (whether it is auto-day or auto-night) and depending on it display the correct temperature (in setpoint temperature in auto mode) - of course, as I wrote earlier only when the value setpoint temperature (temporary) is equal to 0.0C.

I hope this clarifies things a little.

@majdzik84
Copy link

I don't know what it is caused by, but I noticed that there are times when all switches work properly but it also happens that the temperatures are not updated.
Since last night at my switch again correctly.

@proddy
Copy link
Collaborator

proddy commented Oct 18, 2019

I should be able to find the auto-day and auto-night modes. They must be in 0x3D (HC1) or 0x47 (HC2) if you could send along some examples.

@majdzik84
Copy link

Auto-Day (temp. day 22C)
(03:01:03.793) Thermostat -> me, type 0x47, telegram: 10 0B 47 00 03 28 2C 26 0A 28 00 02 00 05 05 2D 01 01 04 4B 05 4B 01 00 3C FF 0D 05 05 02 02 (CRC=FF) #data=27

Auto-Night (temp. night 20C)

(03:04:02.057) Thermostat -> me, type 0x47, telegram: 10 0B 47 00 03 28 2C 26 0A 28 00 02 00 05 05 2D 01 01 04 4B 05 4B 01 00 3C FF 0D 05 05 02 02 (CRC=FF) #data=27

@proddy
Copy link
Collaborator

proddy commented Oct 19, 2019

lol, they're identical so its not in that telegram!

@majdzik84
Copy link

yes, they are identical - to be sure I checked 2 times

@proddy
Copy link
Collaborator

proddy commented Nov 13, 2019

closing.

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

No branches or pull requests

5 participants