Overview
ramses_cc is a Home Assistant custom integration that works with RAMSES II-based RF 868 Mhz systems for (heating) CH/DHW (e.g. Honeywell Evohome) and (ventilation) HVAC (e.g. Itho Spider, Orcon).[!NOTE]
Ramses RF can not interpret the new Honeywell Ramses-III (R3) messages used after a firmware upgrade since 2025 and (some) new devices.
This includes CH/DHW systems such as evohome, Sundial, Hometronic, Chronotherm and others.
The simplest way to know if it will work with your CH/DHW system is to identify the box connected to your boiler (or other heat source) to one of (there will be other systems that also work): - R8810A or R8820A: OpenTherm Bridge - BDR91A or BDR91T: Wireless Relay - HC60NG: Wireless Relay (older hardware version)
ramses_cc also works with HVAC (ventilation) systems using the Ramses-II protocol, such as from Itho, Orcon, Nuaire, Ventiline, Vasco, etc.
It uses the ramses_rf client library to decode the RAMSES-II protocol used by these devices. Note that other systems may also use this protocol. YMMV!
The library requires a USB-to-RF device, either a Honeywell HGI80 (rare, expensive) or a USB/MQTT dongle running ramses_esp or evofw3, such as the one from here) or your own ESP32-S3-WROOM-1 N16R8 with a CC1100 transponder.
Our Code of Conduct applies to all use of this repository and the code it creates. Follow the AI_POLICY for any use of LLMs for both coding and communicating.
Prerequisites
- Install Home Assistant and ensure you are running HA Core 2026.9.0 or later.
- Obtain a USB-to-RF transceiver — either a Honeywell HGI80 or a USB/MQTT/Zigbee dongle running ramses_esp or evofw3.
- Connect the transceiver to your Home Assistant host (USB) or network (MQTT).
Installation
- In HA, under Settings > Marketplace, search for RAMSES RF and click install.
- When an update is published, Marketplace will pop up a notification and allow one-click updates.
Before HA 2026.11.0
- Install the HACS integration in Home Assistant.
- Add
ramses_ccas a custom repository in HACS. - Search for RAMSES RF and install it.
- When an update is published, HACS will pop up a notification and allow one-click updates.
Manually
- Copy the
custom_components/ramses_cc/folder from this repository into yourcustom_components/directory. - Restart Home Assistant.
- To update, repeat steps 1-2.
Configuration
- Go to Settings > Devices & Services > Add Integration.
- Search for ramses_rf (the integration name).
- Select your transceiver port (USB or MQTT) and configure the serial/MQTT settings.
- Complete the config flow — the integration will start a passive scan to discover devices.
- See the wiki for detailed configuration of the system schema.
Installation Parameters
| Parameter | Type | Required | Description |
| :--- | :--- | :---: | :--- |
| Transceiver Hardware | Hardware | Yes | Honeywell HGI80, SSM-D2 / evofw3 dongle, or Indalo Tech ramses_esp (ESP32-S3). |
| Local USB Port | String / Path | Optional | Path to local serial port (e.g. /dev/serial/by-id/usb-Texas_Instruments..., COM3). Baud rate 115200 (evofw3/ramses_esp) or 57600 (HGI80). |
| Network Serial Port | URI / URL | Optional | Remote serial socket using rfc2217://, socket://, or tcp://. |
| Home Assistant MQTT | Service | Optional | Built-in Home Assistant MQTT integration bridge with broker topic subscription. |
| Standalone MQTT | URI / URL | Optional | Custom Paho MQTT broker connection string (mqtt://[user:pass@]). |
| Zigbee Bridge | URI / URL | Optional | Zigbee coordinator bridge URI (zigbee://). |
Configuration & Options Parameters
| Option Parameter | Type | Default | Description |
| :--- | :--- | :---: | :--- |
| scan_interval | Integer (seconds) | 1200 | Periodic polling interval (in seconds) for supported passive parameter queries. |
| packet_log | File Path | None | Absolute path to a file where raw RAMSES II protocol packet logs are recorded. |
| restore_cache | Boolean | True | Restore learned device traits and schema from cache upon startup. |
| advanced_features | Boolean | False | Enable advanced entity creation (e.g. packet debug event entities). |
| message_events | Boolean | False | Dispatch RAMSES RF packet message events on Home Assistant's event bus. |
| known_list | Dictionary | {} | Explicit list of authorized device IDs and optional device class / faked traits. |
| block_list | Dictionary | {} | Explicit list of device IDs to ignore/block from discovery and packet processing. |
| system_schema | Dictionary | {} | Declarative schema defining controller (CTL), heating/cooling zones, and ventilation topology. |
Removal
- Go to Settings > Devices & Services.
- Find the ramses_rf integration and select it.
- Click Delete to remove the config entry and all its entities.
- If installed via HACS, optionally remove it from HACS > Integrations.
- If installed manually, delete the
custom_components/ramses_cc/folder. - Restart Home Assistant.
Actions
This integration provides the following Actions (in Tools > Actions). Search for "ramses" in Developer Tools > Actions in your Home Assistant instance to get the full list plus an interactive UI.
HVAC / Ventilation
| Service | Description | Fields |
|--------------------------|--------------------------------------------------------------------------------------------------|-------------------------------------|
| get_fan_param | Request value of a configuration parameter (2411) from a FAN | fan_device/fan_id, param_id, from_id |
| set_fan_param | Set a configuration parameter (2411) on a FAN | fan_device/fan_id, param_id, value, from_id |
| update_fan_params | Request all configuration parameters (2411) from a FAN | fan_device/fan_id, from_id |
| add_faked_rem | Create a faked REM (virtual remote) for sending commands to a FAN | device_id, bound_to, alias |
| send_command | Send a RAMSES command as if from a remote | command, num_repeats, delay_secs |
| learn_command | Learn a RAMSES command and add it to the database | command, timeout |
| add_command | Add a RAMSES command to the database until restart | command, packet_string |
| delete_command | Delete a RAMSES command from the database | command |
| send_packet | Send a completely bespoke RAMSES II command packet from the gateway (Enable Send Packet Config) | device_id, from_id, verb, code, payload |
Heat / CH / DHW
| Service | Description | Fields |
|--------------------------|--------------------------------------------------------------------------------------------------|-------------------------------------|
| bind_device | Bind a device to a CH/DHW controller or a fan/ventilation unit | device_id, offer, confirm, device_info |
| force_update | Immediately update the system state | |
| get_system_faults | Obtain the controller's latest fault log | num_entries |
| reset_system_mode | The system will be in auto mode and all zones in follow_schedule mode | |
| set_system_mode | The system will be in the new mode and all zones not in permanent_override mode will be affected | mode, period, duration |
| get_zone_schedule | Obtain the zone's latest weekly schedule (only evohome) | |
| reset_zone_config | Reset the configuration of the zone | |
| reset_zone_mode | Reset the operating mode of the zone | |
| set_zone_config | Set the configuration of the zone | min_temp, max_temp |
| set_zone_mode | Set the operating mode of the zone, indefinitely or for a duration | mode, setpoint, duration, until |
| set_zone_schedule | Upload the zone's weekly schedule | schedule |
| get_dhw_schedule | Obtain the DHW's latest weekly schedule | |
| reset_dhw_mode | Reset the operating mode of the system's DHW | |
| reset_dhw_params | Reset the configuration of the system's DHW | |
| set_dhw_boost | Enable the system's DHW for an hour | |
| set_dhw_mode | Set the operating mode of the system's DHW | mode, active, duration, until |
| set_dhw_params | Set the configuration of the system's DHW | setpoint, overrun, differential |
| set_dhw_schedule | Upload the DHW's weekly schedule | schedule |
Sensors / Fake data
| Service | Description | Fields |
|--------------------------|--------------------------------------------------------------------------------------------------|-------------------------------------|
| fake_zone_temp | Set the current temperature (not setpoint) of an evohome zone | temperature |
| fake_dhw_temp | Set the current temperature (not setpoint) of an evohome water heater | temperature |
| put_zone_temp | Fake the sensor temperature of a zone (replaces deprecated fake_sensor_temp) | temperature |
| put_room_temp | Announce the measured room temperature of an evohome zone sensor | temperature |
| put_dhw_temp | Announce the measured temperature of an evohome DHW sensor | temperature |
| put_co2_level | Announce the measured CO2 level of an indoor sensor | co2_level |
| put_ventilation_demand | Send a transient 0-100% demand from a faked CO2 sensor to its bound Orcon ventilation unit | ventilation_demand |
| put_indoor_humidity | Announce the measured relative humidity of an indoor sensor | indoor_humidity |
Device management / Discovery
| Service | Description | Fields |
|-------------------------------|-------------------------------------------------------------------------------|--------------------------------|
| discover_known_devices | Call all devices in the Known List, returning a report in your system log | device_id |
| sync_topology | Immediately sync the learned topology to the config entry | |
| get_discovered_devices | Retrieve the list of devices discovered by the passive scan | status, enabled |
| accept_discovered_device | Accept a discovered device and add it to the schema | device_id, owner, schema_entry |
| discard_discovered_device | Discard a discovered device. It stays in the list for spam prevention | device_id |
| remove_discovered_device | Mark a previously accepted device as removed | device_id |
| enable_discovered_device | Enable a disabled or discarded device without changing its status | device_id |
| disable_discovered_device | Disable an accepted device temporarily (e.g. for maintenance) | device_id |
| remove_device | Remove a device from the schema and HA device registry e.g. when replaced | device_id |
| set_polling_interval | Configure or reset the effective polling interval for a RAMSES device | device_id, polling_interval |
Additionally, there are Home Assistant's built-in services for climate HEAT/HVAC.
More in the Wiki
See the ramses_cc wiki for installation, configuration, troubleshooting, etc. The Wiki Config System Schema page explains the Passive Device Scan tool and Migrating from an earlier version.