Dans ta boucle il faut passer par un namespace, sinon ça perds les infos
{%- set ns = namespace(equipements_hors_ligne =[]) -%}
{% for name, state in equipements.items() %}
{% if state == 'off' or state == 'unknown' %}
{% set ns.equipements_hors_ligne = ns.equipements_hors_ligne + [name] %}
{% endif %}
{% endfor %}
{{ ns.equipements_hors_ligne }}
Et du coup ton tableau est dispo à la fin après la boucle.
Tu as des exemples ici :
Dans les 1er messages, sans passer par la boucle (mais du coup pas de test on/off)
Là un exemple de sensor