Orbit B-hyve HACS Integration - Switch Only Turns on Timer for 5 Minutes

There was a separate issue on this topic here; it was marked as “solved”, but the solution did not work for me.

The issue is whenever I toggle the switch on (inside Home Assistant) the default timer is set for 5 minutes. Any suggestions would be much appreciated.

What I’ve done so far:

  1. Changed the mode inside the B-hyve app from “auto” to “off”
  2. Set the manual watering program time in the app to 10 minutes.
  3. When I look at the “manual_preset_runtime” attribute inside home assistant, it is set for 300 seconds (5 minutes) - see screenshot.

I think you have to use the service bhyve.start_watering and bhyve.stop_watering… start_watering takes a value of minutes so you can set the duration that way.

GitHub - sebr/bhyve-home-assistant: Orbit BHyve custom component for Home Assistant (Look at the services section)

1 Like

Very helpful. Thank you. Looking at the services, there is also one for " bhyve.set_manual_preset_runtime" but it does not work for my device. They say it’s functionality is spotty.

I’m trying to set this up and I am having the same problem, the Switch only turns on the time for 5 minutes. Dmcnaught15, did you find a solution?

I’m using bhyve.start_watering and bhyve.stop_watering and also tried to integrate bhyve.set_manual_preset_runtime

no dice. frustrated. help!

BASIC ANSWER:
I use the “start watering” service and add a line for “minutes”.

Here is a basic example (in yaml) of the service (for mine) showing how you can enter a set number of minutes:

action: bhyve.start_watering
data:
  entity_id: switch.south_to_front_zone
  minutes: 20

And, here’s a screenshot of mine in UI mode:

ADVANCED OPTIONS:

FIRST: Create an Input Helper for the set time: Once you confirm the start watering service is working for you (above), then you can create an input helper for the runtime and insert it’s state for the minutes.

My HELPER looks like this:

My SERVICE yaml then looks like this:

action: bhyve.start_watering
data:
  entity_id: switch.south_to_front_zone
  minutes: "{{states('input_number.timer_input_south_faucet_to_front')}}"

SECOND: Create a timer remaining sensor. Once you’ve made the input helper (above), then you can template a timer remaining sensor in your configuration.yaml file (make sure to restart HA after creating it so the sensor entity shows up). This sensor takes the number of minutes you put in the input helper and figures out how much time is left. Here’s what mine looks like:

  - platform: template
    sensors:
      timer_remaining_south_faucet_to_front:
        friendly_name: 'Timer Remaining South Faucet to Front'
        value_template: >
          {% if is_state('switch.south_to_front_zone', 'on') %}
            {{ (state_attr('switch.south_to_front_zone','current_runtime') - (as_timestamp (now()) - as_timestamp (state_attr('switch.south_to_front_zone','started_watering_station_at')))/60) | round(0)}}
          {% else %}
            0
          {% endif %}
        unit_of_measurement: "min"

END PRODUCT:

In the end this is what my HA card looks like with all my sprinklers / zones:

When I tap the icon for the switch (left column), then whatever number I have in the input box (right column) will set the sprinkler time and the timer remaining entity (below the input box in the right column) will show you how much time is remaining.

This is what it looks like when enter 50 minutes into the input box and then toggle the switch to on (as time passes, the timer remaining entity will count down - 50 → 49 → 48, etc):

Thank you very much! The bhyve.start_watering was failing for me at first, but I have managed to get it working.

1 Like