The min_max sensor platform consumes the state from other sensors to determine the minimum, maximum, latest (last), mean and median of the collected states. The sensor will always show you the lowest/highest/latest value which was received from all monitored sensors. If you have spikes in your values, it’s recommended to filter/equalize your values with a statistics sensor first.

This sensor is an alternative to the template sensor’s value_template: to get the average or the median of multiple sensors.

{{ ((float(states('sensor.kitchen_temperature')) +
     float(states('sensor.living_room_temperature')) +
     float(states('sensor.office_temperature'))) / 3) | round(2)

Sensors with an unknown state will be ignored in the calculation. If the unit of measurement of the sensors differs, the min_max sensor will go to an error state where the value is UNKNOWN and unit of measurement is ERR.


To enable the min_max sensor, add the following lines to your configuration.yaml:

# Example configuration.yaml entry
  - platform: min_max
      - sensor.kitchen_temperature
      - sensor.living_room_temperature
      - sensor.office_temperature

Configuration Variables

entity_ids list | string Required

At least two entities to monitor. The unit of measurement of the first entry will be the one that’s used. All entities must use the same unit of measurement.

type string (Optional, default: max)

The type of sensor: min, max, last, mean or median.

name string (Optional)

Name of the sensor to use in the frontend.

round_digits integer (Optional, default: 2)

Round mean or median value to specified number of digits.