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

I’ve migrated to 0.20.7 today and I have a problem with my fake sensors. When calling the ramses_cc.put_zone_temp service, I have the following error in home assistant:

2022-07-04 21:58:15 ERROR (MainThread) [homeassistant.helpers.script.websocket_api_script] websocket_api script: Error executing script. Unexpected error for call_service at pos 1: temperature() missing 1 required positional argument: 'value'
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 447, in _async_step
    await getattr(self, handler)()
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 680, in _async_call_service_step
    await service_task
  File "/usr/src/homeassistant/homeassistant/core.py", line 1704, in async_call
    task.result()
  File "/usr/src/homeassistant/homeassistant/core.py", line 1741, in _execute_service
    await cast(Callable[[ServiceCall], Awaitable[None]], handler.job.target)(
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 697, in handle_service
    await service.entity_service_call(
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 680, in entity_service_call
    future.result()  # pop exception if have
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 964, in async_request_call
    await coro
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 711, in _handle_entity_call
    result = hass.async_run_job(partial(getattr(entity, func), **data))  # type: ignore[arg-type]
  File "/usr/src/homeassistant/homeassistant/core.py", line 592, in async_run_job
    return self.async_run_hass_job(HassJob(target), *args)
  File "/usr/src/homeassistant/homeassistant/core.py", line 544, in async_run_hass_job
    hassjob.target(*args)
  File "/config/custom_components/ramses_cc/climate.py", line 300, in svc_put_zone_temp
    self._device.sensor.temperature = temperature
  File "/usr/local/lib/python3.9/site-packages/ramses_rf/devices_base.py", line 153, in wrapper
    return fnc(*args, **kwargs)
TypeError: temperature() missing 1 required positional argument: 'value'
2022-07-04 21:58:15 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection] [140258405091792] Error handling message: Unknown error (unknown_error)
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/decorators.py", line 27, in _handle_async_response
    await func(hass, connection, msg)
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 636, in handle_execute_script
    await script_obj.async_run(msg.get("variables"), context=context)
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 1513, in async_run
    await asyncio.shield(run.async_run())
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 405, in async_run
    await self._async_step(log_exceptions=False)
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 449, in _async_step
    self._handle_exception(
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 472, in _handle_exception
    raise exception
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 447, in _async_step
    await getattr(self, handler)()
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 680, in _async_call_service_step
    await service_task
  File "/usr/src/homeassistant/homeassistant/core.py", line 1704, in async_call
    task.result()
  File "/usr/src/homeassistant/homeassistant/core.py", line 1741, in _execute_service
    await cast(Callable[[ServiceCall], Awaitable[None]], handler.job.target)(
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 697, in handle_service
    await service.entity_service_call(
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 680, in entity_service_call
    future.result()  # pop exception if have
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 964, in async_request_call
    await coro
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 711, in _handle_entity_call
    result = hass.async_run_job(partial(getattr(entity, func), **data))  # type: ignore[arg-type]
  File "/usr/src/homeassistant/homeassistant/core.py", line 592, in async_run_job
    return self.async_run_hass_job(HassJob(target), *args)
  File "/usr/src/homeassistant/homeassistant/core.py", line 544, in async_run_hass_job
    hassjob.target(*args)
  File "/config/custom_components/ramses_cc/climate.py", line 300, in svc_put_zone_temp
    self._device.sensor.temperature = temperature
  File "/usr/local/lib/python3.9/site-packages/ramses_rf/devices_base.py", line 153, in wrapper
    return fnc(*args, **kwargs)
TypeError: temperature() missing 1 required positional argument: 'value'

I also have this error message in my logs after migrating to 0.20.7

A fix is coming tonight… Pease note you cannot downgrade from release 0.20.x.

Nice Thanks.
Concerning downgrading, I had to move back to the master branch because without temperature being received from the fake sensors, my boiler was heating up these rooms (despite evohome being set on heating “off”). I did not want to have the heating on in the summer so migrated back to the main branch. It created a duplicate of each climate zones (with a “_2” number) and I know it means I will loose my history data but I had no other choice. Seems to working fine on the master branch now.

Going to master is not a downgrade - it is the absolute latest version.

I am not sure of the consequence of having evohome_cc and ramses_cc entities when you attempt to upgrade again… It should be OK, if you:

  • remove evohome_cc: from configuration.yaml (reboot and)
  • delete all the evohome entities, then (reboot and)
  • install ramses_cc again

You will loose all data from what ramses_rf last ran until it restarts.

Other people: the best idea is to take a snapshot of HA before upgrading to 0.20.x.

I believe I have identified / fixed this bug.

This is a faking issue - I might have to set up a test bed…

Sorry I should have specified that I disable the beta switch before so I installed 0.18.8 I think in my case.
… I didn’t think of reverting using my HA snapshot taken before migration I was trying to do too many things at once and did not think straight :roll_eyes: ah well

If you have a snapshot - you may be better of reverting to that now.

I can reproduce the bug

I have identified the bug & have a fix.

Version 0.20.9 released that addresses all reported/known bugs.

1 Like

yes indeed! The binary_sensor is up and running again :wink:
I have UFH but i don’t see it as actuator at my livingroom, is this normal?

UFH controllers (UFCs) cannot be actuators - the UFH actuator is a circuit (UFCs have up to 5 or 8 circuits). The device_id for such an actuator would be (e.g.) 02:123456_03 (the 4th circuit of 02:123456).

All other actuators are of the form 12:123456. This is s significant change, with little demand, and not much fro me to dev/test here at home with, so I have yet to implement this.

Until it is implemented, you will not see accurate heating demands for UFH zones.

When I am ready to move ahead with this, I will reach out to people for those willing to help dev/test.

If anyone is thinking of upgrading to 0.20.x - please wait until Friday now (I am busy for the next 48h).

For anyone else: please report bugs & I will address them ASAP.

1 Like

What to put in the configuration yaml for 0.20.x?

It’s basically the same as in the previous versions with just a few name changes. Look at the release note here for a detailed explanation (in the section breaking change of the release note).

I’ve got this in my logs, never seen this type before.

Logger: ramses_rf.protocol.parsers
Source: /usr/local/lib/python3.9/site-packages/ramses_rf/protocol/parsers.py:717 
First occurred: 17:09:17 (1 occurrences) 
Last logged: 17:09:17

I --- 32:172522 63:262142 --:------ 10E0 029 000001C85901016CFFFFFFFFFFFF1F0507E0564D4E2D32334C4D333300 < Support the development of ramses_rf by reporting this packet, with the make/model of device: 32:172522 (device type 32 not known to have signature: 0001C85901016CFFFF)

My automation of seems to be breaking with the latest 0.20.9. Any of you know what is going on?

Automation:

    service: climate.set_preset_mode
        data:
          preset_mode: None
          entity_id: climate.keuken

Log entry:

2022-07-08 07:20:12 ERROR (MainThread) [homeassistant.components.automation.climate_set_keuken_temperature] Climate: Set keuken temperature: Error executing script. Unexpected error for choose at pos 1: set_zone_mode() takes 3 positional arguments but 6 were given Traceback (most recent call last): File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 447, in _async_step await getattr(self, handler)() File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 900, in _async_choose_step await self._async_run_script(choose_data["default"]) File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 1025, in _async_run_script await self._async_run_long_action( File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 644, in _async_run_long_action long_task.result() File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 1513, in async_run await asyncio.shield(run.async_run()) File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 405, in async_run await self._async_step(log_exceptions=False) File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 449, in _async_step self._handle_exception( File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 472, in _handle_exception raise exception File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 447, in _async_step await getattr(self, handler)() File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 680, in _async_call_service_step await service_task File "/usr/src/homeassistant/homeassistant/core.py", line 1704, in async_call task.result() File "/usr/src/homeassistant/homeassistant/core.py", line 1741, 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 680, in entity_service_call future.result() # pop exception if have File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 964, in async_request_call await coro File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 717, 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.9/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 202, in set_preset_mode self.svc_reset_zone_mode() File "/config/custom_components/ramses_cc/climate_heat.py", line 219, in svc_reset_zone_mode self._call_client_api(self._device.reset_mode) File "/config/custom_components/ramses_cc/__init__.py", line 393, in _call_client_api func(*args, **kwargs) File "/usr/local/lib/python3.9/site-packages/ramses_rf/zones.py", line 800, in reset_mode return self.set_mode(mode=ZON_MODE_MAP.FOLLOW) File "/usr/local/lib/python3.9/site-packages/ramses_rf/zones.py", line 811, in set_mode cmd = Command.set_zone_mode(self.ctl.id, self.idx, mode, setpoint, until) File "/usr/local/lib/python3.9/site-packages/ramses_rf/protocol/command.py", line 195, in wrapper return _wrapper(fcn, cls, ctl_id, zone_idx, *args, **kwargs) File "/usr/local/lib/python3.9/site-packages/ramses_rf/protocol/command.py", line 160, in _wrapper return fcn(cls, *args, **kwargs) TypeError: set_zone_mode() takes 3 positional arguments but 6 were given

Attributes of climate_keuken:

hvac_modes: auto, heat
min_temp: 5
max_temp: 35
preset_modes: none, temporary, permanent
current_temperature: 18
temperature: 5
preset_mode: none
zone_idx: 08
heating_type: radiator_valve
mode: 
mode: follow_schedule
setpoint: 5

config: 
min_temp: 5
max_temp: 35
local_override: true
openwindow_function: true
multiroom_mode: false

schema: 
_name: Keuken
class: radiator_valve
sensor: '04:050559'
actuators:
  - '04:050559'

params: 
config:
  min_temp: 5
  max_temp: 35
  local_override: true
  openwindow_function: true
  multiroom_mode: false
mode:
  mode: follow_schedule
  setpoint: 5
name: Keuken

friendly_name: Keuken
supported_features: 17
hvac_action: idle

Can you send me the packet log for that day?