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

I’ve noticed recently that one zone is showing heat_demand as “Unavailable”. I’m not sure when this started as I’ve not been paying any attention given that it’s been warm enough that the heating hasn’t been doing anything. Everything is on current stable releases (e.g. 0.20.22g for ramses_cc).
The system has both UFH & rads, and OpenTherm. I’ve just updated my config to specify the sensor for one of the UFH zones since it uses the controller.
The zone with no heat_demand does not have an “actuator” listed in the schema:

  '02':
    _name: Ensuite 1
    class: radiator_valve
    sensor: '04:123249'
    actuators: []

I’ve restarted having set both restore_schema & restore_state to false with no change. The heating system itself seems fine in that the radiator comes on & off as expected. (And sensor.04_123249_heat_demand exists with sensible looking data for this zone.)
So, any ideas why is the actuator empty, please? And is this likely related to the “Unavailable” heat_demand?

I would like to have the yaml for this

It looks fantastic - what would be great would be if it was posted to the Wiki!

Yes, the zone must have actuators to have a heat demand.

No. Was it always empty?

You could try restarting with restore_cache: false, but that woudl be a pain. First, sent me your configuration.yaml, and your .storage/ramses_cc file.

You could also look in your packet log:

> grep -E ' (I|RP).* 000C ... 0208' packet.log
2022-09-27T10:11:24.000000 000 RP --- 01:145038 18:006402 --:------ 000C 006 02080010DAF9

If the payload is 02087FFFFFFF, then your system needs sorting - simply re-add the TRV to the zone.

I have a similar issue on one of my zones, the heat demand works for the TRV sensor (sensor.04_xxxxxx_heat_demand) but does not work on the controller heat demand sensor (sensor.01_xxxxxx_zz_heat_demand). I gather this is the same problem?

You have asked a question that maybe you should be able to make progress on yourself.

Look at the schema for that zone - does it have any actuators?

Correct - the TRV actuator is missing from the ramses_cc controller schema - as per below. However the associated sensor.04_172509_heat_demand sensor works fine but the controller heat demand sensor.01_154305_06_heat_demand sensor is reported as unavailable

_name: Guest Room
class: radiator_valve
sensor: '04:172509'
actuators: []

When I call the cloud API https://tccna.honeywell.com it says the TRV is assigned to the zone as deviceType: 128 so it looks to be configured correctly.

"thermostatModelType": "EMEA_ZONE",
"deviceType": 128,
"name": "Guest Room",

In that case, do as I advised @jonboy , except change the zone index:
grep -E ' (I|RP).* 000C ... 0608' packet.log

To be clear: it doesn’t matter what the actuators are saying, if the actuators list is invalid (or empty), you’ll get the wrong zone heat demand.

This is because the controller wont tell you what the zone demand is - ramses_rf has to calculate it (using the heat demand of the actuators of that zone).

Hello, I am Ton and this is my first post. I am using an Evohome controller, a couple of HR92, R8810 and a HGI80. When I want to use Temporary or Permanent I am getting "ValueError: Invalid args: For temporary_override, setpoint/active cant be None". Does anybody find a solution to fix this?

@Hamamatsu Please provide more information, so someone can help:

  • you are overriding zone mode (or system mode) - I think zone
  • you are doing it via a service call, or via the web UI - I guess UI?
  • If via the UI, please describe exactly what you’re clicking, on, etc…

Also let me know if you’re using 0.20.22g or not.

Version 0.20.22i just released - replaces 0.20.22g - has only a client bump.

Fixes missing current temperature for zones with multiroom mode enabled.

It is recommened to upgrade to it - if there are any issues you can downgrade to 0.20.22f without any configuration changes.

I want to override a zone mode and i am doing it via de web ui using: stack-in-card, simple-thermostat and mini-graph-card.
I am using in HACS: Ramses_cc 0.20.22g

I am asking people to install / test release candidate 0.21.0 - it includes many changes (fixes, etc.) to the service calls, including managing zone schedules!

I would love people to report those that worked, as well as those that didn’t. Please test all those service calls and report any bugs here. They are…

Domain-Level:

  • fake_device
  • force_update
  • send_packet

Evohome System (controller):

  • reset_system_mode
  • set_system_mode

Evohome Zone:

  • put_zone_temp (sensor faking)
  • reset_zone_config
  • reset_zone_mode
  • set_zone_config
  • set_zone_mode
  • get_zone_schedule (new!)
  • set_zone_schedule (new!)

Evohome DHW:

  • put_dhw_temp (sensor faking)
  • reset_dhw_mode
  • reset_dhw_params
  • set_dhw_boost
  • set_dhw_mode
  • set_dhw_params
  • get_dhw_schedule (new!)
  • set_dhw_schedule (new!)

HVAC Sensors:

  • put_co2_level (sensor faking)
  • put_indoor_humidity (sensor faking)
  • put_presence_detect (sensor faking)

HVAC Remotes:

  • learn_command
  • send_command

OK, does it work with the standard card, or does that give the same error?

It gives the same error

Just installed 0.21.0 (in error - meant to install 0.20.22i !), and multi room is now working. Thanks

Great - the same fix is in 0.20.22i.

Then maybe you can test some service calls!

If you need to: you can always roll back to 0.20.22i, but you may as well stay on this version if you can.

My problem is that I cannot currently test this…

Has anyone else got this issue?

ValueError: Invalid args: For temporary_override, setpoint/active cant be None

@Hamamatsu

Can you give me the full TraceBack from the home-assistant log file please.

You mean this:
2022-09-27 20:05:37.447 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection] [140187456709456] Invalid args: For temporary_override, setpoint/active cant be None

Traceback (most recent call last):

  File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 200, in handle_call_service

    await hass.services.async_call(

  File "/usr/src/homeassistant/homeassistant/core.py", line 1738, in async_call

    task.result()

  File "/usr/src/homeassistant/homeassistant/core.py", line 1775, in _execute_service

    await cast(Callable[[ServiceCall], Awaitable[None]], handler.job.target)(

  File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 204, in handle_service

    await service.entity_service_call(

  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 676, in entity_service_call

    future.result()  # pop exception if have

  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 931, in async_request_call

    await coro

  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 713, in _handle_entity_call

    await result

  File "/usr/src/homeassistant/homeassistant/components/climate/__init__.py", line 488, in async_set_preset_mode

    await self.hass.async_add_executor_job(self.set_preset_mode, preset_mode)

  File "/usr/local/lib/python3.10/concurrent/futures/thread.py", line 58, in run

    result = self.fn(*self.args, **self.kwargs)

  File "/config/custom_components/ramses_cc/climate_heat.py", line 345, in set_preset_mode

    self.svc_set_zone_mode(mode=ZoneMode.TEMPORARY)

  File "/config/custom_components/ramses_cc/climate_heat.py", line 374, in svc_set_zone_mode

    self._call_client_api(

  File "/config/custom_components/ramses_cc/__init__.py", line 236, in _call_client_api

    func(*args, **kwargs)

  File "/usr/local/lib/python3.10/site-packages/ramses_rf/system/zones.py", line 747, in set_mode

    cmd = Command.set_zone_mode(

  File "/usr/local/lib/python3.10/site-packages/ramses_rf/protocol/helpers.py", line 23, in wrapper

    return fnc(*args, **kwargs)

  File "/usr/local/lib/python3.10/site-packages/ramses_rf/protocol/command.py", line 205, in wrapper

    return _wrapper(fcn, cls, ctl_id, zone_idx, *args, **kwargs)

  File "/usr/local/lib/python3.10/site-packages/ramses_rf/protocol/command.py", line 170, in _wrapper

    return fcn(cls, *args, **kwargs)

  File "/usr/local/lib/python3.10/site-packages/ramses_rf/protocol/command.py", line 1093, in set_zone_mode

    mode = _normalise_mode(mode, setpoint, until, duration)

  File "/usr/local/lib/python3.10/site-packages/ramses_rf/protocol/command.py", line 235, in _normalise_mode

    raise ValueError(

ValueError: Invalid args: For temporary_override, setpoint/active cant be None

Looks like I can reproduce this, but need to go and do something else for a while. Will try and find time later to look further if needed. I’m using the Thermostat card