Support default value in sensor group helper if device unavailable when combining multiple sensors

Feature Request

This request is for Sensor Group Helper entities.

When combining multiple sensors it is not possible to define a default value when a device becomes unknown or unavailable.

By supporting a default value in such a case, automations can be a little more flexible.

What happens currently?

If you combine all battery levels (%) and set to Min, then when an entity becomes unavailable it is not considered at all.

In other words, the battery level is 100% when a device becomes unavailable. However, in reality the device may be dead (0%).

Use case

I have lots of battery powered devices. I like to get low battery alerts via automation. I combine multiple battery level (%) sensors into a single “minimum battery level” so that I can alert.

I like using the helper device because I don’t want to know about all batteries; just a specific set.

Workaround

A current workaround is to use a template, instead of a combination of sensors.

The following template is equivalent to “min” and a default value of 0% when a device is dead (unavailable).

  • Template Sensor
  • Unit of measurement: %
  • Device class: Battery
  • State class: Measurement
  • “Min” measurement template source:
{%
  set battery_levels = [
    states('sensor.h5100_1f7c_battery') | float(0),
    states('sensor.h5100_635f_battery') | float(0),
    states('sensor.h5100_4a0b_battery') | float(0),
    states('sensor.water_sensor_7_pro_battery_level') | float(0),
    states('sensor.water_sensor_7_pro_battery_level_2') | float(0),
    states('sensor.front_door_lock_battery_level') | float(0),
    states('sensor.c20_row_battery_level') | float(0)
  ] | sort
%}{{
  battery_levels[0]
}}

If a device becomes unavailable (e.g. battery dies), then the sensor measurement will be 0%.

Software version of report

Core 2025.5.3

FYI

{{ [ 'sensor.h5100_1f7c_battery',
     'sensor.h5100_635f_battery',
     'sensor.h5100_4a0b_battery',
     'sensor.water_sensor_7_pro_battery_level',
     'sensor.water_sensor_7_pro_battery_level_2',
     'sensor.front_door_lock_battery_level',
     'sensor.c20_row_battery_level' ] | map('states') | map('float', 0) | min }}
1 Like

Thank you and Nice! I tried using map and was floundering. I like this workaround better.

I updated my sensors to match.