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

OK, 0.6.5 pushed - it has all the service calls in it now. Please test.

Seems to work pretty well for me, might even be at the point where I can now potentially unplug the internet gateway. Great work!

Certainly now way above the regular Evohome functionality, being able to boost hot water and zones for X minutes (rather than configuring an override everytime) and/or adjusting the hot water temperature as the weather warms up.

I had previously been using @phdelodder branch, so I could have scripts/buttons to boost zones for X hours:

living_room_heating_boost_1hour:
  sequence:
    - service: evohome_cc.set_zone_mode
      data:
        entity_id: climate.living_room_2
        setpoint: 24
        duration: {minutes: 60}

UPDATE: I seem to have ended up with new/stale/duplicate actuators and potentially battery and window sensors, will trash them and reload.

I also noticed it on my test environment, which ones do we need to use/rename/delete, itā€™s a bit unclear.

I just hashed out evohome_cc, restarted, deleted all evohome_cc entities, un-hashed, restartedā€¦ but then I did have to re-name the entities again.

Guess you need to remove everything during the restart with the hashed evohome_cc

1 Like

I have just noticed that I accidentally gave each of the binary_sensor entities a new unique_id (this may also apply to some of the sensor entitiesā€¦ I didnā€™t notice because I am constantly restarting / rebuilding my system.

I can fix it, so you donā€™t lose your entity state historyā€¦ But I would prefer to keep the names as is.

Adventurous people can hack the homeassistant database directly to change the uinque IDs, google for that.

The (safer) alternatives is to remove the entities from Lovelace, or delete them from the system.

I donā€™t expect they will have to change again.


There is now an essentially complete set of services, with only a few exceptions:

  • someone has requested a manual refresh functionality - will add that
  • there could be some convenience functions, think: set_auto, rather than set_mode(mode=auto)

Let me know if you want any more - there are some I could do, but of doubtful value, for example:

  • rename a zone
  • change TPI settings
  • set system time
  • change zone schedulesā€¦

Are the new icons for the actuators and actuator relay demand perhaps the wrong way around?

Yes! Nice spot - Iā€™ve fixed it & pushed.

Iā€™m having a issue with setting away:

Logger: homeassistant.components.websocket_api.http.connection
Source: custom_components/evohome_cc/climate.py:469
Integration: Home Assistant WebSocket API (documentation, issues)
First occurred: 11:47:03 (1 occurrences)
Last logged: 11:47:03

[140082036178752] set_mode() got an unexpected keyword argument 'mode'
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 141, in handle_call_service
    await hass.services.async_call(
  File "/usr/src/homeassistant/homeassistant/core.py", line 1488, in async_call
    task.result()
  File "/usr/src/homeassistant/homeassistant/core.py", line 1523, in _execute_service
    await handler.job.target(service_call)
  File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 204, in handle_service
    await self.hass.helpers.service.entity_service_call(
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 642, in entity_service_call
    future.result()  # pop exception if have
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 681, in async_request_call
    await coro
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 679, in _handle_entity_call
    await result
  File "/usr/src/homeassistant/homeassistant/components/climate/__init__.py", line 446, in async_set_preset_mode
    await self.hass.async_add_executor_job(self.set_preset_mode, preset_mode)
  File "/usr/local/lib/python3.8/concurrent/futures/thread.py", line 57, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/config/custom_components/evohome_cc/climate.py", line 455, in set_preset_mode
    self.svc_set_zone_mode(HA_PRESET_TO_TCS.get(preset_mode, SystemMode.AWAY))
  File "/config/custom_components/evohome_cc/climate.py", line 469, in svc_set_zone_mode
    self._device.set_mode(mode=mode, until=until)
TypeError: set_mode() got an unexpected keyword argument 'mode'

Perhaps also the binary_sensor for the actuator?

Current version shows:

Random question, what is a 30:xxxxx device?

12:12:20.887 -> 055 RQ --- 30:177552 01:050858 --:------ 0006 001 00

01 - Controller
04 - TRV
13 - Boiler Relay
07 - Hot water kit
22 - Wall mounted thermostat

I donā€™t think Iā€™ve missed this in the wiki, although apologies if I haveā€¦

I think that one is OK?

It just seems backwards to me - the ā€˜pipeā€™ appears connected when ā€˜offā€™, but then ā€˜twistedā€™ (disconnected, not touching) when on?

In this context, Iā€™d say it was a RFG100 (Honeywell Internet Gateway).

There are other devices that are a 30:xxxxxx (I have one, a ventilation unit). The other alternative is a corrupt packet.

But itā€™s almost certainly an RFG100: itā€™s asking your controller if any schedules have changed since it last asked - it does this every few minutes or so (the controller doesnā€™t announce any such change).

Yeah - I need to get back to updating it: Evohome Protocol Wiki

1 Like

Doh. Of course. The one bit of kit not accounted forā€¦ itā€™s the gateway.

I can see what youā€™re sayingā€¦ Itā€™s supposed to be a valve - the ā€˜pipeā€™ is going up/down, and there is a butterfly valve swinging on a central pivot point

It wont show up in HA, except in the JSON in the log file.

1 Like

OK, I found the bug - thought Iā€™d previously fixed it - hang onā€¦

I would like the option: change zone schedulesā€¦

I have just loaded the latest code for testing with my Hometronic. Looks like zone name discovery is much better than before, probably due to smaller number of RQ messages. I got all the zones within a few minutes of start.

Unfortunately Schema is still showing all my devices as orphans.

"Schema ="{
  "controller":"01:020766",
  "system":{
    "heating_relay":"None"
  },
  "orphans":[
    "00:000392",
    "00:000474",
    "00:000494",
    "00:000498",
    "00:000548",
    "00:000551",
    "00:000554",
    "00:000558",
    "00:000567",
    "00:000595",
    "00:000599",
    "00:000606",
    "00:000795",
    "00:000806",
    "00:000951",
    "04:017575",
    "04:024117"
  ],
  "stored_hotwater":{
    
  },
  "underfloor_heating":{
    
  },
  "zones":{
    "00":{
      "heating_type":"None",
      "sensor":"None",
      "devices":[
        
      ]
    },
    "01":{
      "heating_type":"None",
      "sensor":"None",
      "devices":[
        
      ]
    },
    "02":{
      "heating_type":"None",
      "sensor":"None",
      "devices":[
        
      ]
    },
...
  }
}