Hive Hot Water Boost

I am new to Home Assistant and don’t have much experience… I have Hive and have downloaded both the official Hive integration and the HACS additional integration.

I am trying to create a Hot Water Boost Button with accompanying timer. Ideally, what I want it to do is:

  1. Press the button:
    a) It starts the Boost for a set 30mins
    b) A countdown timer (ideally within the button) starts from 30 down to 0
    c) When it hits zero, it moves the Hot Water state back to Schedule.
  2. Once the button is pressed, if you press it again, it stops the hot water boost, and moves the hot water state back to Schedule.

I have been trying to follow various guides etc. and am getting lost at the first step. In the Developer tools Menu, under actions, I have tested this and it works to start the boost:

action: hive.boost_hot_water
data:
  entity_id: water_heater.your_thermostat
  time_period: "00:30:00"
  on_off: "on"

But I can’t seem to get the above YAML linked to a card… can someone help me with what I should include in the card YAML so that I can at least get step 1a working before I move onto the next steps?

Thanks in advance, Paul

I have this almost exact same thing and happy to help, but it’ll be tomorrow or Sunday.

Thanks JCHH! No rush, whenever you have the time

1 Like

OK, just realised you are using the official Hive integration (via their hub). I removed the hub and control Hive locally over Zigbee/Z2M.

Regardless, looking at the Hive docs, your action doesn’t look quite right, so try this:

- action: "hive.boost_hot_water"
  target:
    entity_id: "water_heater.your_thermostat"
  data:
    time_period: "00:30:00"
    on_off: "on"

…are you sure the entity_id is correct? …your_thermostat feels like it was taken from a generic example and needs to be replaced with the name of your actual thermostat.

Put that yaml in a script. Have the button on the card call the script as the tap_action

Thanks, I actually found the entity ID automatically in the UI mode. See screen print, I then clicked on YAML mode and it showed:

action: hive.boost_hot_water
data:
  entity_id: water_heater.your_thermostat
  time_period: "00:30:00"
  on_off: "on"

I tried this again, by clicking the Perform Action button - and it worked, the Hive app showed the hot water came on. So I am thinking this is the right instructions…

Thanks, when I copy and paste this into a script I get the following error. Any idea why it works in the Developer Tools / Actions menu, but not here (and I used the copy to clipboard button to copy the code across)

can you share the script, verbatim?

After a fair bit of trial and error… I think I have it working…

I created a Script in the UI mode with the choose option. This allowed me to effectively say; 1. If hot water off, run boost for 30mins and start 30min timer. 2. If hot water on, turn hot water off, turn it to Schedule/Eco, and reset timer.

Here is the YAML script it created:

sequence:
  - choose:
      - conditions:
          - condition: state
            entity_id: binary_sensor.hotwater_state
            state: "off"
        sequence:
          - action: hive.boost_hot_water
            metadata: {}
            data:
              entity_id: water_heater.your_thermostat
              time_period: "00:30:00"
              on_off: "on"
          - action: timer.start
            metadata: {}
            data: {}
            target:
              entity_id: timer.hot_water_boost_timer
      - conditions:
          - condition: state
            entity_id: binary_sensor.hotwater_state
            state: "on"
        sequence:
          - action: hive.boost_hot_water
            metadata: {}
            data:
              on_off: "off"
              entity_id: water_heater.your_thermostat
              time_period: "24:59:59"
          - action: timer.finish
            metadata: {}
            data: {}
            target:
              entity_id: timer.hot_water_boost_timer
          - action: water_heater.set_operation_mode
            metadata: {}
            data:
              operation_mode: eco
            target:
              entity_id: water_heater.your_thermostat
alias: Hot Water Boost Script
description: ""

I then have a button linked to the script and timer linked to the timer helper next to the button. Needs a little more work as I would like the button to give a message it is on boost… and am not sure if I can get the button and timer into one card… but getting there!

Thanks JCHH just talking things over helped me get to this first solution

2 Likes