Test less than or equal: le
The le test checks whether a value is less than or equal to another value. It is also available under the alias <=. When used with is, it reads naturally: value is le(other).
While you can always use <= directly in conditions, the le test is essential when working with selectattr, select, and similar filters that require a test name as a string. This lets you filter collections by comparing values to a maximum threshold without writing explicit loops.
Usage
Here’s how to use this template function. Copy any example and adjust it to your setup.
{% if 5 is le(5) %}
Less or equal
{% endif %}
Less or equal
Function signature
The signature is a technical summary of this template function. It shows the name of the function, the values (called parameters) it accepts, and what type of data each parameter expects (for example, a piece of text or a number).
Function parameters that have a = with a value after them are optional. If you leave them out, the default value shown is used automatically. Function parameters without a default are required.
le(
value: Any,
other: Any,
) -> bool
Function parameters
The following parameters can be provided to this function.
Aliases
This test can also be used as:
-
<=-value is <=(other)
Using with selectattr
Filter entities at or below a maximum value.
{{
states.sensor
| selectattr("attributes.brightness", "le", 128)
| map(attribute="name") | list
}}
['Hallway', 'Bedroom']
Good to know
- When comparing entity state strings with numbers, convert first or wrap the threshold in quotes. String comparison puts
"9"above"10". - Comparisons between incompatible types (a number and a string, for instance) raise an error.
Try it yourself
Ready to test this? Open Developer tools > Template, paste the example into the Template editor, and watch the result update on the right. Edit the values to see how the function adapts to your own entitiesAn entity represents a sensor, actor, or function in Home Assistant. Entities are used to monitor physical properties or to control other entities. An entity is usually part of a device or a service. [Learn more].
More examples
Real scenarios where this function comes up in automations and templates. Copy any example and adapt it to your setup.
Find values at or below a maximum
Use select to find all numbers at or below a limit.
{{ [10, 25, 30, 15, 40] | select("le", 25) | list }}
[10, 25, 15]
Still stuck?
The Home Assistant community is quick to help: join Discord for real-time chat, post on the community forum with your template and expected result, or share on our subreddit /r/homeassistant.
AI assistants like ChatGPT or Claude can also explain or fix templates when you describe what you want in plain language.
Related template functions
These functions work well alongside this one:
-
Test less than: lt - Tests if a value is less than another. Also known as lessthan or <.
-
Test greater than: gt - Tests if a value is greater than another. Also known as greaterthan or >.
-
Test greater than or equal: ge - Tests if a value is greater than or equal to another. Also known as >=.
-
Test equality: eq - Tests if two values are equal. Also known as equalto or ==.
-
Test not equal: ne - Tests if two values are not equal. Also known as !=.