Honeywell Evohome - how to control hot water?

Hi!

I have the Evohome integration working well and reporting the various temperatures of my zones, and I can turn the hot water on and off from the HASS UI by moving operation to on.

However, I can’t work out how to achieve this in an automation. Ideally I’d like to make a switch that I expose in Homekit so I can use Siri to control the hot water.

Here’s how the entity presents:

water_heater.dhw_controller

min_temp: 43.3
max_temp: 60
operation_list:
  - auto
  - 'on'
  - 'off'
current_temperature: 58.9
temperature: null
target_temp_high: null
target_temp_low: null
operation_mode: 'on'
away_mode: 'off'
status:
  setpoints:
    this_sp_from: '2020-10-07T06:50:00+01:00'
    this_sp_state: 'Off'
    next_sp_from: '2020-10-07T17:30:00+01:00'
    next_sp_state: 'On'
  dhw_id: '2653202'
  active_faults: []
  state_status:
    state: 'On'
    mode: TemporaryOverride
    until: '2020-10-07T17:30:00+01:00'
  temperature_status:
    temperature: 58
    is_available: true
friendly_name: DHW controller
icon: 'mdi:thermometer-lines'
supported_features: 6

Does anyone have any suggestions please?

I was hopeful I might be able to use the Water Heater service, but this doesn’t seem to work.

Cracked it.

service: water_heater.set_operation_mode
data:
  entity_id: water_heater.dhw_controller
  operation_mode: 'on'
2 Likes

Hi @timgp
Does this still work for the EvoHome hot water system? I’ve tried using

  action:
  - service: water_heater.set_operation_mode
    data:
      entity_id: water_heater.dhw_controller
      operation_mode: 'on'

and

  action:
  - service: water_heater.set_operation_mode
    target:
      entity_id: water_heater.dhw_controller
    data:
      operation_mode: 'on'

but neither actually trigger the hot water. No obvious errors and other calls to the zones work as expected.

I cant seem to be able to trigger the hot water to on. Anyone able to help on this front?

  • id: ‘1620853040880’
    alias: Hot Water Warning
    description: ‘’
    trigger:
    • platform: numeric_state
      entity_id: water_heater.dhw_controller
      attribute: current_temperature
      below: ‘30’
      condition: []
      action:
    • device_id: 1e4f07c03e0242eda05498fdbb872da7
      domain: mobile_app
      type: notify
      title: ‘’
      message: Water Temperature is LOW - water_heater.dhw_controller.current_temperature
    • service: water_heater.turn_on
      data:
      entity_id: water_heater.dhw_controller
      mode: single

Please use the </> button when pasting code. Your automation as pasted is completely broken but might be fine in reality.

I can’t see a water_heater.turn_on service listed: why do you think this will work?

- id: '1620853040880'
  alias: Hot Water Warning
  description: ''
  trigger:
  - platform: numeric_state
    entity_id: water_heater.dhw_controller
    attribute: current_temperature
    below: '30'
  condition: []
  action:
  - device_id: 1e4f07c03e0242eda05498fdbb872da7
    domain: mobile_app
    type: notify
    title: ''
    message: Water Temperature is LOW - water_heater.dhw_controller.current_temperature
  - service: water_heater.turn_on
    data:
      entity_id: water_heater.dhw_controller
  mode: single

Its listed on my automations as a service.

Fair enough. Does it work as you want if you call it directly from Developer Tools / Services?

No it doesnt for some reason.

Hey,
this is all working great for me now.

This service works

service: water_heater.turn_off
data:
  entity_id: water_heater.dhw_controller

I then made these scripts, to use in automations and via Alexa.

##############################
##############################
######## Hot Water On/Of ########
##############################
##############################

script_hot_water_turn_on:
  sequence: 
  - service: water_heater.turn_on
    data:
      entity_id: water_heater.dhw_controller

script_hot_water_turn_off:
  sequence: 
  - service: water_heater.turn_off
    data:
      entity_id: water_heater.dhw_controller
1 Like