Notification avec le nom de l'entité du groupe qui a déclenché l'automatisation

Bonsoir,

Rien de bien gênant mais j’ai créé un groupe de capteurs de fenêtre [binary_sensor.windowsopen]

Si une fenêtre est ouverte en mon absence je reçois une notification qui pour l’instant me donne le nom du groupe :

service: notify.mobile_app_iphone_x2a
data:
  message: >-
    Quelqu'un a ouvert une fenêtre 1 {{
    trigger.from_state.attributes.friendly_name }}

Je souhaiterai avoir plutôt l’information de la fenêtre qui a été ouverte, j’ai trouvé sur le forum inter ce code :

{{ expand(state_attr('binary_sensor.windowsopen', 'entity_id')) 
  |selectattr('state','eq','on')
  |map(attribute='friendly_name')
  |join(', ') }}

Résultat OK dans les outils de DEV avec 2 fenêtres ouvertes :

Mais si je colle ce code dans l’automatisation, elle n’en veut pas, barre rouge et à l’enregistrement ce n’est pas prit en compte.
image

Certains éléments de syntaxe ne seraient pas supportés ?
Vous remerciant par avance :wink:

Bob

Salut…

Rho… Les espaces qui manquent sur les lignes 5,6 et 7 …
Là tel qu’écrire, c’est comme si tu avait des nouvelles propriétés, c’est pas la suite du code

1 « J'aime »

Merci @Pulpy-Luke
Pour la syntaxe ça passe :slight_smile: , j’avais tout mis sur une ligne mais ça reformate ainsi.
image

Mais la notification ne donne que : " Quelqu’un a ouvert une fenêtre"

Bob

Essaye de metttre la formule sur 1 seule ligne… Les saut de lignes coupent les {{ }}

J’ai tenté mais il reformate automatiquement comme ceci :

action:
  - service: notify.mobile_app_iphone_x2a
    data:
      message: >-
        Quelqu'un a ouvert une fenêtre
        {{expand(state_attr('binary_sensor.windowsopen',
        'entity_id'))|selectattr('state','eq','on') |
        map(attribute='friendly_name') | join(', ')}}

Et vire l’apostrophe au cas ou

Je te mets le code d’un message qui me notifie de la fin d’un cycle de charge de ma voiture. J’avais pas mal galéré à l’époque pour trouver la bonne syntaxe. Il y a peut-être des idées à reprendre.

  - service: persistent_notification.create
    data:
      title: Charge voiture terminée
      message: "La charge s'est déroulée de {{ ((state_attr('automation.charge_voiture_start_2','last_triggered'))
        | as_local).strftime(\"%Hh%M\") }} à {{ now().strftime(\"%Hh%M\") }}  \nDurée
        {{ float((((state_attr('automation.charge_voiture_fin','last_triggered'))
        - (state_attr('automation.charge_voiture_start_2','last_triggered'))).seconds
        / 3600 )) | int }}h {{float(((((state_attr('automation.charge_voiture_fin','last_triggered'))
        - (state_attr('automation.charge_voiture_start_2','last_triggered'))).seconds
        % 3600 )/60 ))| round(0) }}min \nLe cycle a consommé {{ states('sensor.charge_voiture_power_cycle')
        }}kWh, soit {{ ((states('sensor.charge_voiture_power_cycle') | float(default=0)
        * float(states('input_number.prix_du_kwh_d_electricite'))))  | round(2) }}€\n"
2 « J'aime »

Oui tu quotes, le message complet

Les logs, toujours regarder les logs :hugs:

Enregistreur: homeassistant.helpers.template
Source: helpers/template.py:2377
S'est produit pour la première fois: 20:35:04 (9 occurrences)
Dernier enregistrement: 20:55:25

Template variable warning: 'homeassistant.helpers.template.TemplateState object' has no attribute 'friendly_name' when rendering 'Quelqu'un a ouvert une fenêtre {{ expand(state_attr('binary_sensor.windowsopen', 'entity_id')) |selectattr('state','eq','on') | map(attribute='friendly_name') | join(', ') }}'

J’ai remplacé ‹ friendly_name › par ‹ name ›.

data:
  message: >-
    Quelqu'un a ouvert une fenêtre
    {{expand(state_attr('binary_sensor.windowsopen',
    'entity_id'))|selectattr('state','eq','on') | map(attribute='name') |
    join(', ')}}

Trop fort @Pulpy-Luke
Bob