Honeywell CH/DHW via RF - evohome, sundial, hometronics, chronotherm

@Tchirana and @spencerwebb189 - first it’s worth checking the devices really have gone from Evohome - in my experience the only way to completely clear the bindings for a zone is to delete the zone and recreate it in Evohome. Otherwise you can end up with “ghost” devices that don’t cause a problem in Evohome but show up in Ramses RF. The binary sensor for the Evohome controller status can give a clue to “ghost” bindings - it will be called something like binary_sensor.01_216136_status and shows the current Evohome bindings.

If the devices really have gone from Evohome then this worked for me - I had two HR91’s that I’d replaced with HR92’s and I’d just left them as disabled devices for now but I just tried this:

  1. Take a backup just in case
  2. Disable the Ramse RF integration
  3. In the homeassistant/.storage folder edit core.device_registry and remove the line(s) for the offending device(s)
  4. In the homeassistant/.storage folder delete ramses_cc (the cache)
  5. Restart Home Assistant
  6. Re-enable the Ramses RF integration

The previously disabled HR91 devices are now gone.

Is anyone using this integration to manage the Evohome schedule rather than in the proprietary Evo app?
Perhaps there are some blueprints that play nicelely? Any feedback appreciated.

The evemome controller, after a fw update stopped sending this data over RF:

see this:

I think it would be possible to query directly the evohome online api and request this data over wifi but the integration would need modification and it will be also bonded to the resideo cloud account. As I understand this data is stored in the evohome controller and synced only with the cloud

@peternash I’ll give it a try . The only thing I did not do previously was disabling the integration.

hmmm, after doing all this that device was still there . I went ahead and deleted the entry from ramses integration and readded and it lost all devices and now I am waiting for the zones and other stuff to be redetected. Curious is that I have all my TRV devices renamed and they were seen with the old names I had. Yeah, weird. By the way I am using the new 0.52.1 version of the integration, but with sqlindex disabled and also using a ramses_esp and my serial port is configured to get data from mqtt.

ALSO:
@zxdavb especially but for everyone , I do not know if you already are aware but honeywell has a new fw update and they switched to ramses-III protocol. I found out this the hard way when one of my old THM failed and had to get the new DT4R. I had to talk with resideo support and they updated my evohome controller fw and now in advanced settings > system parametrs I have a new otion to enable also legacy R2 protocol (I am using a mix of HR80 and HR92 TRVs). Until now all looks good and even ramses_esp detected my new R3 protocol DT4R.

By the discussion I had with a guys from local resideo support it seems that these DT4R came in 2 versions of firmware.
Below the product code on these there is also a manufacturing date , mine is 2553 (2025 week 53) but any device with a manufacturing date up to 2550 comes with ramses II.

@zxdavb If you guys need any communication dumps and errors from what my ramses_esp sees now on the network I am happy to share. Of course any details that I might have missed , feel free to ask.

so it gets worse and worse with the new firmware:

2025-10-29 20:17:57.661 DEBUG (MainThread) [custom_components.ramses_cc.number] Setting up platform
2025-10-29 20:17:57.662 DEBUG (MainThread) [custom_components.ramses_cc.broker] Registering platform number
2025-10-29 20:17:57.662 DEBUG (MainThread) [custom_components.ramses_cc.broker] Connecting signal for platform number: ramses_cc_new_devices_number
2025-10-29 20:17:57.662 DEBUG (MainThread) [custom_components.ramses_cc.broker] Platform setup completed for number
2025-10-29 20:17:57.662 DEBUG (MainThread) [custom_components.ramses_cc.number] Processing 25 items
2025-10-29 20:17:57.662 DEBUG (MainThread) [custom_components.ramses_cc.number] async_create_parameter_entities for 01_226586
2025-10-29 20:17:57.662 DEBUG (MainThread) [custom_components.ramses_cc.number] Device 01_226586 does not support 2411 parameters, skipping parameter entities
2025-10-29 20:17:57.662 DEBUG (MainThread) [custom_components.ramses_cc.number] async_create_parameter_entities for 13_187431
2025-10-29 20:17:57.662 DEBUG (MainThread) [custom_components.ramses_cc.number] Device 13_187431 does not support 2411 parameters, skipping parameter entities
2025-10-29 20:17:57.662 DEBUG (MainThread) [custom_components.ramses_cc.number] async_create_parameter_entities for 04_115445
2025-10-29 20:17:57.662 DEBUG (MainThread) [custom_components.ramses_cc.number] Device 04_115445 does not support 2411 parameters, skipping parameter entities
2025-10-29 20:17:57.662 DEBUG (MainThread) [custom_components.ramses_cc.number] async_create_parameter_entities for 04_120170
2025-10-29 20:17:57.662 DEBUG (MainThread) [custom_components.ramses_cc.number] Device 04_120170 does not support 2411 parameters, skipping parameter entities
2025-10-29 20:17:57.662 DEBUG (MainThread) [custom_components.ramses_cc.number] async_create_parameter_entities for 22_014440
2025-10-29 20:17:57.662 DEBUG (MainThread) [custom_components.ramses_cc.number] Device 22_014440 does not support 2411 parameters, skipping parameter entities
2025-10-29 20:17:57.662 DEBUG (MainThread) [custom_components.ramses_cc.number] async_create_parameter_entities for 04_245957
2025-10-29 20:17:57.662 DEBUG (MainThread) [custom_components.ramses_cc.number] Device 04_245957 does not support 2411 parameters, skipping parameter entities
2025-10-29 20:17:57.662 DEBUG (MainThread) [custom_components.ramses_cc.number] async_create_parameter_entities for 04_157378
2025-10-29 20:17:57.662 DEBUG (MainThread) [custom_components.ramses_cc.number] Device 04_157378 does not support 2411 parameters, skipping parameter entities
2025-10-29 20:17:57.662 DEBUG (MainThread) [custom_components.ramses_cc.number] async_create_parameter_entities for 04_157256
2025-10-29 20:17:57.662 DEBUG (MainThread) [custom_components.ramses_cc.number] Device 04_157256 does not support 2411 parameters, skipping parameter entities
2025-10-29 20:17:57.662 DEBUG (MainThread) [custom_components.ramses_cc.number] async_create_parameter_entities for 22_098390
2025-10-29 20:17:57.663 DEBUG (MainThread) [custom_components.ramses_cc.number] Device 22_098390 does not support 2411 parameters, skipping parameter entities
2025-10-29 20:17:57.663 DEBUG (MainThread) [custom_components.ramses_cc.number] async_create_parameter_entities for 04_153231
2025-10-29 20:17:57.663 DEBUG (MainThread) [custom_components.ramses_cc.number] Device 04_153231 does not support 2411 parameters, skipping parameter entities
2025-10-29 20:17:57.663 DEBUG (MainThread) [custom_components.ramses_cc.number] async_create_parameter_entities for 04_153233
2025-10-29 20:17:57.663 DEBUG (MainThread) [custom_components.ramses_cc.number] Device 04_153233 does not support 2411 parameters, skipping parameter entities
2025-10-29 20:17:57.663 DEBUG (MainThread) [custom_components.ramses_cc.number] async_create_parameter_entities for 00_031413
2025-10-29 20:17:57.663 DEBUG (MainThread) [custom_components.ramses_cc.number] Device 00_031413 does not support 2411 parameters, skipping parameter entities
2025-10-29 20:17:57.663 DEBUG (MainThread) [custom_components.ramses_cc.number] async_create_parameter_entities for 04_116909
2025-10-29 20:17:57.663 DEBUG (MainThread) [custom_components.ramses_cc.number] Device 04_116909 does not support 2411 parameters, skipping parameter entities
2025-10-29 20:17:57.663 DEBUG (MainThread) [custom_components.ramses_cc.number] async_create_parameter_entities for 04_153234
2025-10-29 20:17:57.663 DEBUG (MainThread) [custom_components.ramses_cc.number] Device 04_153234 does not support 2411 parameters, skipping parameter entities
2025-10-29 20:17:57.663 DEBUG (MainThread) [custom_components.ramses_cc.number] async_create_parameter_entities for 04_153236
2025-10-29 20:17:57.663 DEBUG (MainThread) [custom_components.ramses_cc.number] Device 04_153236 does not support 2411 parameters, skipping parameter entities
2025-10-29 20:17:57.663 DEBUG (MainThread) [custom_components.ramses_cc.number] async_create_parameter_entities for 01_226586
2025-10-29 20:17:57.663 DEBUG (MainThread) [custom_components.ramses_cc.number] Device 01_226586 does not support 2411 parameters, skipping parameter entities
2025-10-29 20:17:57.663 DEBUG (MainThread) [custom_components.ramses_cc.number] async_create_parameter_entities for 01_226586_00
2025-10-29 20:17:57.663 DEBUG (MainThread) [custom_components.ramses_cc.number] Device 01_226586_00 does not support 2411 parameters, skipping parameter entities
2025-10-29 20:17:57.663 DEBUG (MainThread) [custom_components.ramses_cc.number] async_create_parameter_entities for 01_226586_01
2025-10-29 20:17:57.663 DEBUG (MainThread) [custom_components.ramses_cc.number] Device 01_226586_01 does not support 2411 parameters, skipping parameter entities
2025-10-29 20:17:57.663 DEBUG (MainThread) [custom_components.ramses_cc.number] async_create_parameter_entities for 01_226586_02
2025-10-29 20:17:57.663 DEBUG (MainThread) [custom_components.ramses_cc.number] Device 01_226586_02 does not support 2411 parameters, skipping parameter entities
2025-10-29 20:17:57.663 DEBUG (MainThread) [custom_components.ramses_cc.number] async_create_parameter_entities for 01_226586_03
2025-10-29 20:17:57.663 DEBUG (MainThread) [custom_components.ramses_cc.number] Device 01_226586_03 does not support 2411 parameters, skipping parameter entities
2025-10-29 20:17:57.663 DEBUG (MainThread) [custom_components.ramses_cc.number] async_create_parameter_entities for 01_226586_04
2025-10-29 20:17:57.663 DEBUG (MainThread) [custom_components.ramses_cc.number] Device 01_226586_04 does not support 2411 parameters, skipping parameter entities
2025-10-29 20:17:57.663 DEBUG (MainThread) [custom_components.ramses_cc.number] async_create_parameter_entities for 01_226586_05
2025-10-29 20:17:57.663 DEBUG (MainThread) [custom_components.ramses_cc.number] Device 01_226586_05 does not support 2411 parameters, skipping parameter entities
2025-10-29 20:17:57.664 DEBUG (MainThread) [custom_components.ramses_cc.number] async_create_parameter_entities for 01_226586_06
2025-10-29 20:17:57.664 DEBUG (MainThread) [custom_components.ramses_cc.number] Device 01_226586_06 does not support 2411 parameters, skipping parameter entities
2025-10-29 20:17:57.664 DEBUG (MainThread) [custom_components.ramses_cc.number] async_create_parameter_entities for 01_226586_07
2025-10-29 20:17:57.664 DEBUG (MainThread) [custom_components.ramses_cc.number] Device 01_226586_07 does not support 2411 parameters, skipping parameter entities
2025-10-29 20:17:57.664 DEBUG (MainThread) [custom_components.ramses_cc.number] async_create_parameter_entities for 01_226586_08
2025-10-29 20:17:57.664 DEBUG (MainThread) [custom_components.ramses_cc.number] Device 01_226586_08 does not support 2411 parameters, skipping parameter entities

now almost all my zones are toast and the controller also.

I tryed wiping everything out and no matter what version I use the zones are not recreated anymore so I had to rollback from a backup.

also this looks fishy:

2025-10-29 20:23:22.851 WARNING (MainThread) [ramses_tx.message]  I --- 01:226586 --:------ 01:226586 30C9 003 FC7FFF < Payload doesn't match '^(0[0-9A-F][0-9A-F]{4})+$': FC7FFF

Hi all,

Im trying to get my setup up and running but i’m a bit stuck. Would appreciate any help or direction on how to proceed.

My setup:

1x BRD91 wireless relay (13:043374)
1x Honeywell wireless thermostat (21:006924)
1x INDALO-TECH usb stick (18:134388)

Im able to pick up on RF traffic, added the Honeywell thermostat(THM) and BDR91(BDR) unit as known devices and stopped listening to all other traffic. Both devices have created entities that update as expected (the Honeywell gets a temperature entity and setpoint as an attribute, the BDR an activity and relay demand entity).

What I’m trying to achieve is being able to controle the BDR unit when I want to start heating, but I’m completely lost on how to be able to do that. Faking the thermostat does not allow me it seems to adjust its temperature or setpoint, and I’m not seeing any particular traffic from the physical thermostat that would indicate a command to open/close the relay.

Any thoughts on how I should proceed?

Setup a issue here for the new firmware 02.47.00.01 on the Evotouch:

@Yardco what type of thermostat do you have? Evohome? usually you cannot control directly the BDR. You have to set the temperature higher that what the thermostat reads.

It’s a Honeywell wireless (round) thermostat (T87RF1003).

If I understand correctly, the only way to make the BDR unit open/close is by adjusting the temperature of the (faked) thermostat? I’ve tried to do this by using the services in developer tools, but none of them seem to be able to adjust the temperature/setpoint of the temperature entity. In the log it shows that it should be a 03:xxxxxx device_id, yet mine uses 21:xxxxxx

I’m no expert on this,I have a evohome, but I think you may want to try and fake a controller and a zone for you to get the controls to operate temp changes on that round. But I may be wrong.

1 Like

Nothing ‘fishy’, just a new format we’ve never seen before.
Add (only) that line as an issue on ramses_cc GitHub, with your device details and packet log (zipped).
The rest is of interest, for this forum. But don’t quote closed issues from 3 months ago. That’s confusing for you.

Thanks for the suggestion! I’ll look in to faking a controller/zone to see if that will work.

Ok. Let me get more details and i’ll put a issue. On cc or rf github? Now I have the integration disabled in HA because i see some weird stuff in the evotouch controller with my zones getting weird overrides. Fraking hel…

I may need to do the same because of the new protocol. Please report back if it works for you and how you did it

I did not have time today to look into it but i managed to get client.py and parse a packet log:

23:50:33.646  I --- 01:226586 --:------ 01:226586 30C9 003 FC7FFF < Payload doesn't match '^(0[0-9A-F][0-9A-F]{4})+$': FC7FFF
23:50:33.851  I --- 01:226586 --:------ 01:226586 30C9 003 FC7FFF < Payload doesn't match '^(0[0-9A-F][0-9A-F]{4})+$': FC7FFF
23:50:34.029 RQ --- 01:226586 04:157378 --:------ 2309 001 00 < PacketInvalid(RQ --- 01:226586 04:157378 --:------ 2309 001 00 < Unexpected verb/code for src (CTL) to Tx)
23:50:34.030 RQ --- 01:226586 04:153233 --:------ 2309 001 00 < PacketInvalid(RQ --- 01:226586 04:153233 --:------ 2309 001 00 < Unexpected verb/code for src (CTL) to Tx)
23:50:34.134 RQ --- 01:226586 04:157378 --:------ 2309 001 00 < PacketInvalid(RQ --- 01:226586 04:157378 --:------ 2309 001 00 < Unexpected verb/code for src (CTL) to Tx)
23:50:34.135 RQ --- 01:226586 04:153233 --:------ 2309 001 00 < PacketInvalid(RQ --- 01:226586 04:153233 --:------ 2309 001 00 < Unexpected verb/code for src (CTL) to Tx)
23:50:34.135 RQ --- 01:226586 04:157256 --:------ 2309 001 00 < PacketInvalid(RQ --- 01:226586 04:157256 --:------ 2309 001 00 < Unexpected verb/code for src (CTL) to Tx)
23:50:34.136 RQ --- 01:226586 13:187431 --:------ 2309 001 00 < PacketInvalid(RQ --- 01:226586 13:187431 --:------ 2309 001 00 < Unexpected verb/code for src (CTL) to Tx)
23:50:34.137 RQ --- 01:226586 04:153231 --:------ 2309 001 00 < PacketInvalid(RQ --- 01:226586 04:153231 --:------ 2309 001 00 < Unexpected verb/code for src (CTL) to Tx)
23:50:34.138 RQ --- 01:226586 04:120170 --:------ 2309 001 00 < PacketInvalid(RQ --- 01:226586 04:120170 --:------ 2309 001 00 < Unexpected verb/code for src (CTL) to Tx)
23:50:34.138 RQ --- 01:226586 22:098390 --:------ 2309 001 00 < PacketInvalid(RQ --- 01:226586 22:098390 --:------ 2309 001 00 < Unexpected verb/code for src (CTL) to Tx)
23:50:34.139 RQ --- 01:226586 04:245957 --:------ 2309 001 00 < PacketInvalid(RQ --- 01:226586 04:245957 --:------ 2309 001 00 < Unexpected verb/code for src (CTL) to Tx)
23:50:34.140 RQ --- 01:226586 04:115445 --:------ 2309 001 00 < PacketInvalid(RQ --- 01:226586 04:115445 --:------ 2309 001 00 < Unexpected verb/code for src (CTL) to Tx)
23:50:34.143  I --- 01:226586 --:------ 01:226586 1100 008 01180100007FFF01 < Payload doesn't match '^(00|FC)[0-9A-F]{6}(00|FF)([0-9A-F]{4}0[01])?$': 01180100007FFF01
23:50:34.143  I --- 01:226586 --:------ 01:226586 1100 008 06180100007FFF01 < Payload doesn't match '^(00|FC)[0-9A-F]{6}(00|FF)([0-9A-F]{4}0[01])?$': 06180100007FFF01
23:50:34.144  I --- 01:226586 22:098390 --:------ 1060 003 060000 < PacketInvalid( I --- 01:226586 22:098390 --:------ 1060 003 060000 < Unexpected code for src (CTL) to Tx)
23:50:34.145  I --- 01:226586 --:------ 01:226586 1100 008 03180100007FFF01 < Payload doesn't match '^(00|FC)[0-9A-F]{6}(00|FF)([0-9A-F]{4}0[01])?$': 03180100007FFF01
23:50:34.147  I --- 01:226586 --:------ 01:226586 1100 008 08180100007FFF01 < Payload doesn't match '^(00|FC)[0-9A-F]{6}(00|FF)([0-9A-F]{4}0[01])?$': 08180100007FFF01
23:50:34.147  I --- 01:226586 13:187431 --:------ 1060 003 FC0000 < Payload doesn't match '^0[0-9A-F](FF|[0-9A-F]{2})0[01]$': FC0000
23:50:34.148  I --- 01:226586 04:120170 --:------ 1060 003 010000 < PacketInvalid( I --- 01:226586 04:120170 --:------ 1060 003 010000 < Unexpected code for src (CTL) to Tx)
23:50:34.149  I --- 01:226586 04:157378 --:------ 1060 003 040000 < PacketInvalid( I --- 01:226586 04:157378 --:------ 1060 003 040000 < Unexpected code for src (CTL) to Tx)
23:50:34.149  I --- 01:226586 --:------ 01:226586 1100 008 02180100007FFF01 < Payload doesn't match '^(00|FC)[0-9A-F]{6}(00|FF)([0-9A-F]{4}0[01])?$': 02180100007FFF01
23:50:34.150  I --- 01:226586 04:157256 --:------ 1060 003 050000 < PacketInvalid( I --- 01:226586 04:157256 --:------ 1060 003 050000 < Unexpected code for src (CTL) to Tx)
23:50:34.150  I --- 01:226586 04:245957 --:------ 1060 003 030000 < PacketInvalid( I --- 01:226586 04:245957 --:------ 1060 003 030000 < Unexpected code for src (CTL) to Tx)
23:50:34.151  I --- 01:226586 --:------ 01:226586 30C9 003 FC7FFF < Payload doesn't match '^(0[0-9A-F][0-9A-F]{4})+$': FC7FFF
23:50:34.151  I --- 01:226586 --:------ 01:226586 1100 008 07180100007FFF01 < Payload doesn't match '^(00|FC)[0-9A-F]{6}(00|FF)([0-9A-F]{4}0[01])?$': 07180100007FFF01
23:50:34.152  I --- 01:226586 --:------ 01:226586 1100 008 05180100007FFF01 < Payload doesn't match '^(00|FC)[0-9A-F]{6}(00|FF)([0-9A-F]{4}0[01])?$': 05180100007FFF01
23:50:34.153  I --- 01:226586 --:------ 01:226586 1100 008 04180100007FFF01 < Payload doesn't match '^(00|FC)[0-9A-F]{6}(00|FF)([0-9A-F]{4}0[01])?$': 04180100007FFF01
23:50:34.153  I --- 01:226586 04:153233 --:------ 1060 003 080000 < PacketInvalid( I --- 01:226586 04:153233 --:------ 1060 003 080000 < Unexpected code for src (CTL) to Tx)
23:50:34.154  I --- 01:226586 04:115445 --:------ 1060 003 000000 < PacketInvalid( I --- 01:226586 04:115445 --:------ 1060 003 000000 < Unexpected code for src (CTL) to Tx)
23:50:34.155  I --- 01:226586 04:153231 --:------ 1060 003 070000 < PacketInvalid( I --- 01:226586 04:153231 --:------ 1060 003 070000 < Unexpected code for src (CTL) to Tx)
23:50:34.155  I --- 01:226586 --:------ 01:226586 1100 008 00180100007FFF01 < AssertionError(01)

I’ll get more info in this issue tomorrow:

This message traffic is quite intriguing. Why is the controller suddenly trying to RQ battery operated devices. They will never respond because they will be asleep.
The new firmware seems to be EU specific for now.

Please always quote that these are from the evohome update v3. We shouldn’t mix the new formats with what we have in place in Ramses RF.

Ramses RF 0.52.3 was released today.

Try the new options for MQTT logging (default Off) and the MessageIndex database (default Off) in Config Flow.

1 Like

i’ll get them enabled.

nice work. logs look a bit more explicit now. can we add also the qos in the Config Flow?
gateway config:

disable_qos: false