I have four sensors with integer state value. What I am trying is to make is a sensor getting the highest value of the four sensors.
- platform: template
sensors:
air_max:
friendly_name: "Air index"
value_template: '{%set mylist = "0",states('sensor.air_pm_25'),states('sensor.air_pm_10'),states('sensor.air_co'),states('sensor.air_no2')%}
{{ max(mylist)|int }}'
Could someone please help me out.
For others trying the same. This works:
value_template: '{%set mylist = states("sensor.air_pm_25"),states("sensor.air_pm_10"),states("sensor.air_co"),states("sensor.air_no2")%} {{ mylist|max |int }}'
1 Like
Sorry, but this won’t work correctly in all cases, because you’re comparing strings instead of numbers. E.g., try this:
{% set mylist = '200','40' %}
{{ mylist|max|int }}
The answer is 40, not 200, which is correct for string comparison, but not if you want to compare the numeric values.
I would suggest this instead:
value_template: >
{%set mylist = states("sensor.air_pm_25")|int,
states("sensor.air_pm_10")|int,
states("sensor.air_co")|int,
states("sensor.air_no2")|int %}
{{ mylist|max }}'
5 Likes
tomba
(tomba)
September 26, 2018, 4:01am
4
Or just use the min/max sensor .
3 Likes
tom_l
September 26, 2018, 4:23am
5
Huh. I thought that was only applicable to one sensor. Seems it will take the min and max from a list of sensors.
Yup. That’s the sensor to use. Lesson learned, always check for a standard sensor.
Hi!
I whant to make something like that but for energy, but i whant to pick the max Watts then turn it off, but how can i find the entity_id of the max ?