Jusqu’à présent j’utilisais NOTIFIER mais j’ai eu quelques problèmes avec.
Et je galère pour trouver ou et comment modifier le fichier dans l’appdeamon, qui ne m’est plus accessible depuis HA
J’ai donc décidé d’essayer de m’en passer en utilisant les outils présents dans home assistant directement.
J’utilise pour cela l’option répéter avec comme condition « pour chaque »
Voici ma proposition avec un exemple lorsque l’on quitte la maison et que l’on souhaite s’assurer qu’aucune lumière ou store n’est encore ouvert :
En pré-requis j’ai mis en place un capteur de proximité maison avec l’intégration Proximity, qui me permet de récupérer la ou les personnes les plus proches de la maison.
alias: Notification- Global - Lumières et stores- allumée ou ouvert sans présence
description: "Notif Lumière allumée ou store ouvert quand on quitte la maison "
trigger:
- platform: state
entity_id:
- binary_sensor.home_occupied
to: "off"
condition:
- condition: or
conditions:
- condition: template
value_template: >-
{{ states.light|selectattr('state','equalto','on')|
rejectattr('entity_id', 'in', ['light.ecran'] )|list|length > 0 }}
- condition: template
value_template: >-
{{ states.cover|selectattr('state','equalto','open') |list|length > 0
}}
action:
- repeat:
sequence:
- if:
- condition: template
value_template: >-
{{ states.light|selectattr('state','equalto','on')|
rejectattr('entity_id', 'in', ['light.ecran'] )|list|length > 0
}}
then:
- data:
message: >-
Ces lumières sont allumées,
{{states.light|selectattr('state','equalto','on')|
rejectattr('entity_id', 'in', ['light.ecran']
)|map(attribute='name')|list|join(', ') }} alors que personne
n'est présent
data:
actions:
- action: lumiereoff
title: Close
action: "{{ repeat.item }}"
- if:
- condition: template
value_template: >-
{{ states.cover|selectattr('state','equalto','open')
|list|length > 0 }}
then:
- data:
message: >-
Ces stores sont ouverts, {{
states.cover|selectattr('state','equalto','open')
|map(attribute='name')|list|join(', ') }} alors que personne
n'est présent
data:
actions:
- action: storeclose
title: Fermer les stores
action: "{{ repeat.item }}"
for_each: |
{% set device = namespace(items=[]) %}
{% for personne in states.person -%}
{% if (states('sensor.maison_appareil_le_plus_proche')) | contains(personne.name) -%}
{% set nom= personne.name-%}
{% set title = state_attr('person.'+nom,'device_trackers')[0].replace("device_tracker.","notify.mobile_app_") %}
{% set device.items = device.items + [title] %}
{% endif %}
{%- endfor %}
{{ device.items }}
mode: single
Il y quand même quelques différences avec NOTIFIER :
Je ne gère pas la notion de tag , mais c’est peut être possible avec l’option de data dans message ?
Je n’ai pas essayé
Quelque chose comme ça :
action: notify.notify
metadata: {}
data:
title: ⚡️ EDF TEMPO {{ states('sensor.rte_tempo_couleur_actuelle') }}
message: >-
La couleur EDF TEMPO a changé. Aujourd'hui {{
states('sensor.rte_tempo_couleur_actuelle') }}{{
states('sensor.rte_tempo_couleur_actuelle_visuel') }}, demain {{
states('sensor.rte_tempo_prochaine_couleur')
}}{{states('sensor.rte_tempo_prochaine_couleur_visuel') }}
data:
icon: mdi:flash-outline
click_url: /lovelace/chauffage
tag: couleur_tempo_edf
il me manque aussi la fonction « until » : effacer la notification dès que quelqu’un rentre à la maison ou agit directement sur les lumières / stores
Si vous avez des idées, je suis preneur