OSO Energy

The OSO Energy integration for Home Assistant allows you to interact with supported devices and services offered by OSO Energy

This OSO Energy integration uses a subscription key, which a user can create for his account on the OSO Energy website, to configure it within Home Assistant. Once configured Home Assistant will detect and add all OSO Energy devices.

Configuration

To add the OSO Energy integration to your Home Assistant instance, use this My button:

Manual configuration steps

If the above My button doesn’t work, you can also perform the following steps manually:

  • Browse to your Home Assistant instance.

  • Go to Settings > Devices & Services.

  • In the bottom right corner, select the Add Integration button.

  • From the list, select OSO Energy.

  • Follow the instructions on screen to complete the setup.

Services

Service osoenergy.get_profile

You can use the service osoenergy.get_profile to get the temperature profile for a water heater. Each temperature corresponds to a given local hour during the current day. For example, a temperature at index 1 corresponds to 01:00 local time.

Service data attribute Optional Description
entity_id no String, name of entity. For example: water_heater.heater

Example:

# Example script to get the temperature profile of a water heater.
script:
  get_profile:
    sequence:
      - service: osoenergy.get_profile
        target:
          entity_id: water_heater.heater
# Example response for the temperature profile of the heater.
water_heater.heater:
  profile:
    - 70
    - 70
    - 70
    - 70
    - 70
    - 70
    - 70
    - 70
    - 70
    - 70
    - 70
    - 70
    - 70
    - 70
    - 70
    - 70
    - 70
    - 70
    - 70
    - 70
    - 70
    - 70
    - 70
    - 70

Service osoenergy.set_profile

You can use the service osoenergy.set_profile to set the temperature profile for a water heater.

Service data attribute Optional Description
entity_id no String, Name of entity e.g., water_heater.heater
hour_00 yes The temperature at hour 00:00 (Local) for a heater
hour_01 yes The temperature at hour 01:00 (Local) for a heater
hour_02 yes The temperature at hour 02:00 (Local) for a heater
hour_03 yes The temperature at hour 03:00 (Local) for a heater
hour_04 yes The temperature at hour 04:00 (Local) for a heater
hour_05 yes The temperature at hour 05:00 (Local) for a heater
hour_06 yes The temperature at hour 06:00 (Local) for a heater
hour_07 yes The temperature at hour 07:00 (Local) for a heater
hour_08 yes The temperature at hour 08:00 (Local) for a heater
hour_09 yes The temperature at hour 09:00 (Local) for a heater
hour_10 yes The temperature at hour 10:00 (Local) for a heater
hour_11 yes The temperature at hour 11:00 (Local) for a heater
hour_12 yes The temperature at hour 12:00 (Local) for a heater
hour_13 yes The temperature at hour 13:00 (Local) for a heater
hour_14 yes The temperature at hour 14:00 (Local) for a heater
hour_15 yes The temperature at hour 15:00 (Local) for a heater
hour_16 yes The temperature at hour 16:00 (Local) for a heater
hour_17 yes The temperature at hour 17:00 (Local) for a heater
hour_18 yes The temperature at hour 18:00 (Local) for a heater
hour_19 yes The temperature at hour 19:00 (Local) for a heater
hour_20 yes The temperature at hour 20:00 (Local) for a heater
hour_21 yes The temperature at hour 21:00 (Local) for a heater
hour_22 yes The temperature at hour 22:00 (Local) for a heater
hour_23 yes The temperature at hour 23:00 (Local) for a heater

Example:

# Example script to set temperature profile for a water heater.
script:
  set_profile:
    sequence:
      - service: osoenergy.set_profile
        target:
          entity_id: water_heater.heater
        data:
          hour_00: 70
          hour_01: 70
          hour_02: 70
          hour_03: 70
          hour_04: 70
          hour_05: 70
          hour_06: 70
          hour_07: 70
          hour_08: 70
          hour_09: 70
          hour_10: 70
          hour_11: 70
          hour_12: 70
          hour_13: 70
          hour_14: 70
          hour_15: 70
          hour_16: 70
          hour_17: 70
          hour_18: 70
          hour_19: 70
          hour_20: 70
          hour_21: 70
          hour_22: 70
          hour_23: 70

Service osoenergy.set_v40_min

You can use the service osoenergy.set_v40_min to set the minimum quantity of water at 40°C for a water heater.

Service data attribute Optional Description
entity_id no String, name of entity. For example: water_heater.heater f entity e.g., water_heater.heater
v40_min no Specify the minimum quantity of water at 40°C for a water heater. For example, 240

Examples:

# Example script to set minimum water level on a water heater, v40 min specified.
script:
  set_v40:
    sequence:
      - service: osoenergy.set_v40_min
        target:
          entity_id: water_heater.heater
        data:
          v40_min: 240

Service osoenergy.turn_off

You can use the service osoenergy.turn_off to turn off the heating on your device for one hour or until the minimum temperature is reached.

Service data attribute Optional Description
entity_id no String, name of entity. For example: water_heater.heater
until_temp_limit no Choose, if the heating should be off until the minimum temperature (True) is reached, or for one hour (False). For example, True

Examples:

# Example script to turn off heating, until temp limit specified.
script:
  turn_off:
    sequence:
      - service: osoenergy.turn_off
        target:
          entity_id: water_heater.heater
        data:
          until_temp_limit: true

Service osoenergy.turn_on

You can use the service osoenergy.turn_on to turn on the heating on your device for one hour or until the maximum temperature is reached.

Service data attribute Optional Description
entity_id no String, name of entity. For example: water_heater.heater
until_temp_limit no Choose, if the heating should be on until the maximum temperature (True) is reached, or for one hour (False). For example, True

Examples:

# Example script to turn on the heating until the specified temperature limit has been reached.
script:
  turn_on:
    sequence:
      - service: osoenergy.turn_on
        target:
          entity_id: water_heater.heater
        data:
          until_temp_limit: true

Binary sensors

The OSO Energy integration exposes OSO Energy data as a binary sensor. It provides the following binary sensors:

  • Extra energy
    • Indication if the water heater is currently in an extra energy/high demand state.
  • Power save
    • Indication if the water heater is currently in a power save/sleep mode state.
  • Heating
    • Indication if the water heater is currently heating the water.

Sensors

The OSO Energy integration exposes OSO Energy data as a sensor. It provides the following sensors:

  • Heater Mode for water heaters.
    • Indication of the current heater mode on the device.
  • Optimization Mode for water heaters.
    • Indication of the way heating is managed by the device according to external factors. For example, electricity prices.
  • Power load (kW) for water heaters.
    • Indication of the current power load of the water heater - how much energy is currently drawn out of the electricity grid.
  • Tapping capacity (kWh) for water heaters.
    • Indication for quantity of energy that is stored and available for use at the moment - the current kWh equivalent capacity of the water heater.
  • Capacity mixed water at 40°C (L) for water heaters.
    • Indication of the current quantity of water that can be drained out after mixing the water in the heater with the inlet tap water to produce water at 40°C.
  • V40 Min (L) for water heaters.
    • The current minimum allowed quantity of mixed water at 40°C. When the current capacity drops below this threshold, the heater will turn on as a feature to guard against cold water.
  • Minimum Level of V40 Min (L) for water heaters.
    • The lower boundary of the V40 Min sensor that can be achieved during normal operation of the water heater. Can vary depending on the type of the heater.
  • Maximum Level of V40 Min (L) for water heaters.
    • The upper boundary of the V40 Min sensor that can be achieved during normal operation of the water heater. Can vary depending on the type of the heater.
  • Temperature top
    • The current measured temperature of the water from the top sensor of the water heater.
  • Temperature middle
    • The current measured temperature of the water from the middle sensor of the water heater.
  • Temperature bottom
    • The current measured temperature of the water from the bottom segment of the water heater.
  • Temperature one
    • The current measured temperature of the water from the one wire sensor of the water heater.

Water heater

The OSO Energy water heater integration integrates your OSO Energy devices into Home Assistant.

It supports the following OSO Energy devices:

  • Water Heaters
  • Sensors