après avoir passé plusieurs heures sur la documentation et sur ce forum (un grand merci aux initiateurs et participants à ce forum, soit dit en passant), je suis encore bloqué sur la méthodologie à adopter pour créer une automatisation.
Voici mon problème : j’ai une installation électrique vétuste et instable et j’ai besoin de recevoir un email lorsque le disjoncteur saute alors que je ne suis pas là, pour me permettre de venir remettre le courant manuellement (ou via un voisin consentant).
Mon installation : J’ai branché un onduleur (APC BackUPS 700) sur la freebox et une raspi 3B (sur laquelle est HA). J’ai réussi à faire reconnaître l’onduleur par HA (merci au forum).
En fait j’ai beaucoup de mal à saisir s’il existerai un blueprint pour les notifs par email… Je n’ai pas compris également ce que pouvait m’apporter node-red par exemple.
et en admettant que ton notifier soit nommé « mail_patrice » tu n’auras plus qu’à l’intégrer dans tes automations dans la partie action de cette façon :
action:
- service: notify.mail_patrice
data:
title: "Le titre"
message: "le message que tu souhaites y compris des templates"
Et j’ai la réponse suivante lors de la vérification de la configuration : Error loading /config/configuration.yaml: Secret identifiantdemonadresseovh@monnomdedomaineovh not defined
Je ne dois pas être bien loin du résultat mais je dois avouer avoir besoin d’un regard aguerri sur mon code visiblement pourri.
cordialement
Merci @golfvert ,
je n’avais pas encore intégré la notion de «storing secret» ; je corrige de suite mon fichier de config et ajoute un secrets.yaml.
[…] C’est bon, mon fichier de configuration est valide dorénavant.
Est-il nécessaire que je supprime d’autres trucs comme persistent_notification.create et notify.notify ?
Je n’ai pas la moindre idée de ce que peut être sensor.myups_status_data_2, ni comment ce script peut savoir que je cherche à avoir des infos sur l’onduleur.
Super, ça fonctionne, c’était bien ça : la notion de trigger que je ne maîtrisais pas encore.
Décidemment, grâce à vous j’ai fait un grand pas en avant dans la connaissance de HA et de sa configuration.
Pour info j’avais besoin de modifier comme cela le fichier :
alias: Gestion Onduleur
description: Notification en fonction des changements détat de londuleur
trigger:
- platform: state
entity_id: sensor.onduleur_status_data
- platform: state
entity_id: sensor.onduleur_battery_charge
condition: []
action:
- choose:
- conditions:
- condition: template
value_template: >-
{{trigger.from_state.entity_id.split('.')[1] ==
'onduleur_status_data' }}
sequence:
- choose:
- conditions:
- condition: or
conditions:
- condition: state
entity_id: sensor.onduleur_status_data
state: OB DISCHRG
- condition: state
entity_id: sensor.onduleur_status_data
state: FSD OB DISCHRG
sequence:
- service: notify.mail_ovh
data:
message: >-
⚠️ Détection ⚡ Coupure de Courant :
{{(now()|string).split('.')[0]}}
title: ⚡ Coupure de Courant 🔋
- service: notify.notify
data:
message: '⚠️ Détection : {{(now()|string).split(''.'')[0]}}'
title: ⚡ Coupure de Courant 🔋
- service: persistent_notification.create
data:
message: '⚠️ Détection : {{(now()|string).split(''.'')[0]}}'
title: ⚡ Coupure de Courant 🔋
notification_id: '{{ (range(1, 9999)|random) }}'
- conditions:
- condition: template
value_template: >
{% set etat_precedent = trigger.from_state.state %} {% if
'DISCHRG' in etat_precedent.split() %}
true
{% else %}
false
{% endif %}
- condition: template
value_template: '{{ trigger.to_state.state != ''unknown'' }}'
- condition: template
value_template: '{{ trigger.to_state.state != ''unavailable'' }}'
sequence:
- service: notify.mail_ovh
data:
message: >-
ℹ️ Détection ⚡ Retour du Courant 🔌 :
{{(now()|string).split('.')[0]}}
title: ⚡ Retour du Courant 🔌
- service: notify.notify
data:
message: 'ℹ️ Détection : {{(now()|string).split(''.'')[0]}}'
title: ⚡ Retour du Courant 🔌
- service: persistent_notification.create
data:
message: 'ℹ️ Détection : {{(now()|string).split(''.'')[0]}}'
title: ⚡ Retour du Courant 🔌
notification_id: '{{ (range(1, 9999)|random) }}'
- conditions:
- condition: template
value_template: >-
{{trigger.from_state.entity_id.split('.')[1] ==
'onduleur_battery_charge' }}
sequence:
- service: notify.mail_ovh
data:
message: >-
⚡ Onduleur niveau de batterie : {{
states('sensor.onduleur_battery_charge')|int }}%
title: >
{% set etat_precedent = trigger.from_state.state|int %} {% set
etat_actuel = trigger.to_state.state|int %} {% if
etat_precedent > etat_actuel %}
⚡ Décharge en cours ↘️
{% else %}
⚡ Recharge en cours ↗️
{% endif %}
- service: notify.notify
data:
message: >-
🔋 Onduleur niveau de batterie : {{
states('sensor.onduleur_battery_charge')|int }}%
title: >
{% set etat_precedent = trigger.from_state.state|int %} {% set
etat_actuel = trigger.to_state.state|int %} {% if etat_precedent
> etat_actuel %}
⚡ Décharge en cours ↘️
{% else %}
⚡ Recharge en cours ↗️
{% endif %}
- service: persistent_notification.create
data:
message: >-
🔋 Onduleur niveau de batterie : {{
states('sensor.onduleur_battery_charge')|int }}%
title: >
{% set etat_precedent = trigger.from_state.state|int %} {% set
etat_actuel = trigger.to_state.state|int %} {% if etat_precedent
> etat_actuel %}
⚡ Décharge en cours ↘️
{% else %}
🔌 Recharge en cours ↗️
{% endif %}
notification_id: '{{ (range(1, 9999)|random) }}'
mode: restart