Compter les lumiéres allumées

Bonjour,
Je viens de faire un sensor qui compte les lumiérers allumées mais mon problème c’est que cela ne compte pas les boutons qui sont du type switch.
Le code que j’utilise actuellement :

- sensor:
      - name: "Lumières allumées"
        icon: "mdi:lightbulb-group"
        state: >
          {% set total_lights = states.light | list | length %}
          {% set lights_on = states.light | selectattr('state', 'eq', 'on') | list | length %}
          {{ lights_on }} lumière{{ 's' if lights_on != 1 else '' }} allumée{{ 's' if lights_on != 1 else '' }} sur {{ total_lights }}

Un autre que j’ai testé pour les swicth, mais il ne fonctionne pas pour moi :

template:
  - sensor:
      - name: "État des lumières"
        unique_id: "sensor_etat_lumieres"
        icon: "mdi:lightbulb-group"
        state: >
          {% set total_lights = (states.light + states.switch)
                                | selectattr('attributes.device_class', 'eq', 'light')
                                | list | length %}
          {% set lights_on = (states.light + states.switch)
                             | selectattr('attributes.device_class', 'eq', 'light')
                             | selectattr('state', 'eq', 'on')
                             | list | length %}
          {{ lights_on }} lumière{{ 's' if lights_on != 1 else '' }} allumée{{ 's' if lights_on != 1 else '' }} sur {{ total_lights }}

Si vous avez une idée ?

J’ai créé un groupe avec l’étiquette « ampoule » avec ce template

{{ states.light 
                | selectattr('entity_id', 'in', label_entities('ampoule')) 
                | selectattr('state', 'eq', 'on')
                | list 
                | count }}

CA me donne le nombre d’ampoules allumées

Salut

Pour tes boutons (switch), tu peux les afficher en tant que lumieres.

Il devrait être comptabilisé comme des lumieres

Tu peux aussi créer un groupe par UI et mettre dedans ce que tu veux

J’ai aussi crée un template sensor.total_lumieres avec ce code.

{{ states.light
              |rejectattr( 'entity_id', 'in', 'group')
              |rejectattr('attributes.entity_id', 'defined')
              |selectattr('state', 'eq', 'on')
              |list
              |count
         }}

Merci pour votre aide, je me complique la vie pour rien des fois :rofl:

1 « J'aime »