Lister les pièces dont une fenêtre est ouverte

Bonjour à tous,

Voila je souhaiterais utiliser la carte Markdown et lister les pièces dont une fenêtre est ouverte. J’ai du mal a trouver la documentation adéquate concernant les pièces ?

En règle général je ne sais pas comment lister les pièces.

Pouvez vous m’aider ?

Salut, tu as des capteurs sur les fenetres je suppose ?
moi avec nodered j‘utilise ceci :

Tu dois pouvoir le transformer sur ha en service ou automation

J’aimerais prendre en considération les pièces auquel j’ai attaché la fenêtre. Genre si j’ai trois fenêtres dans salon. Je souhaiterais mettre Salon si l’une d’entre elle est ouverte. Et je me demandais si s’était possible sans faire des groupes à maintenir.

En YAML ou Node-Red ?


pourquoi ne pas faire une carte de ce style :

apres tu peux aussi les colorer comme ca :

image

ou encore sur un floorplan :

Je ne pensais pas utiliser Node-Red

Je voulais quelques chose de petit pour afficher sur mon Dashboard principal.

En faite après plusieurs recherche je pense que le système de pièces dans Home assistant n’est pas encore très bien intégré pour le back-end ou les templates.

Je penses donc que je vais créer des binary_sensors représentant les pièce et les utiliser dans ma carte Markdown.

Oui, c’est ce qui faut faire :+1:
Si besoin n’hésite pas à me taguer pour t’aider dans le modèle (YAML).

1 « J'aime »

Je viens de retrouver ça sur Discord car ça me disait quelque chose et j’avais aidé @john56 et écrit ça (avec l’aide de la communauté EN pour les sources)
:
Ca donne le nombre de lumière allumées de ma cuisine que j’ai regroupé dans un groupe :

group:
  cuisine:
    name: Lampes Cuisine
    entities:
      - switch.cuisine_lampe_01
      - switch.cuisine_lampe_02
      - switch.cuisine_lampe_03

Et tu crée une entité de type sensor qui renvoie le nombre d’entité à l’état on du groupe group.cuisine :

sensor:
  - platform: template
    sensors:
      lampes_cuisine:
        friendly_name: "Nombre de lampes allumées dans la cuisine"
        value_template: >-
          {%set group = state_attr('group.cuisine','entity_id')%}
          {{ states | selectattr('entity_id','in', group )|selectattr('state','eq','on') | list |count }}

A tester pour voir si la mise à jour se fait correctement, car dans Outil de développement, ça se met à jour seulement quand on rafraichit…

T’as plus qu’à adapter pour récupérer un booléen et le mettre dans un binary_sensor :

#La ligne à modifier est celle ci (ajout de ">0" à la fin): 
{{ states | selectattr('entity_id','in', group )|selectattr('state','eq','on') | list |count > 0 }}
1 « J'aime »

Ah merci,

je venais tout juste de finir ma solution qui est assez proche de ce que tu proposes mais un poil différent.

J’ai directement des binary_sensor représentant la pièce avec le state des binary_sensor qui sont dans la pièce:
Exemple:

---
platform: template
sensors:
  open_bedroom_florian:
    friendly_name: Chambre Florian
    device_class: window
    value_template: >
      {{ 
        is_state('binary_sensor.x_window_florian_bedroom_right', 'on')
        or is_state('binary_sensor.x_window_florian_bedroom_bed', 'on')
      }}

Et enfin ma carte ressemble à ca:

**Les fenêtres suivantes sont ouvertes:**
{{ states.group.windows.attributes.entity_id | expand | selectattr('state','eq','on') | join(', ', attribute="attributes.friendly_name")  }}

Mais je notes ta réponse pour amélioration notamment pour la maintenance. Je penses qu’il est plus facile de mettre à jours le groupe que le template.

Bonjour,
en utilisant ce code (je ne cherche qu’à compter le nombre de lumières, pas à lister lesquelles, cela fonctionne parfaitement mais me renvoie une erreur dans les journaux cependant.

Error while processing template: Template(« {%set group = state_attr(‹ light.toutes_les_lumieres ›,‹ entity_id ›)%} {{ states | selectattr(‹ entity_id ›,‹ in ›, group )|selectattr(‹ state ›,‹ eq ›,‹ on ›) | list |count }} »)

Salut @John

la gestion des lumières est en tuto fait par @Clemalex ici :
https://forum.hacf.fr/t/synthese-lumieres/4517

1 « J'aime »