Envoyer des alertes (mail, etc) lors d'une coupure de courant?

Salut !

Mon Home Assistant est en route depuis 6 semaines. J’y ai rapidement lié mes modules Zigbee / Zwave (thermostats, relais, capteurs, etc). Ca fonctionne, c’est stable.

Mon Rasp Pi 4 est connecté en USB à mon onduleur (un APC).

Via l’Add On « Network UPS Tools » j’ai les infos de l’onduleur qui remontent (charge de la batterie, tension qui arrive, charge derrière l’onduleur, etc).

J’aimerai recevoir une alerte (au moins par mail) dès que l’onduleur détecte une coupure de courant. Par mail car mon HA n’est pas dispo depuis internet, et quand il le sera ce sera uniquement via un VPN auquel je ne serai connecté qu’occasionnellement.

Le top serait qu’un mail soit envoyé toutes les minutes avec le niveau de batterie restant. Puis un mail pour indiquer le retour du courant / fin de la coupure.

Mais je ne sais absolument pas par où commencer, quelle est la bonne méthode pour répondre à ce besoin.

Auriez-vous, svp, quelques conseils ?

D’avance, merci :slight_smile:

Tu utilises NodeRed? si oui je peux sans doute regarder ca avec toi mais en automation c‘est tout a fait possible aussi bien que j‘en fasse pas

Non je ne l’utilise pas, il n’est pas installé mais je vais regarder pour le faire. Merci :slight_smile:

C’est faisable sans Node Red aussi. A toi de voir.
La solution Node red ainsi qu’un exemple de notification est présentée en partie dans ce sujet:

https://forum.hacf.fr/t/batterie-de-secours-et-ha/1381

Si c’est possible sans nod red, pourquoi pas ?

J’aimerai la solution la plus légère/simple/fiable juste pour répondre à ce besoin.
Donc sans nod red, à quoi penses-tu comme solution ?

Je vais aller voir ton lien dès que j’ai un peu de temps pour me remettre là dessus. Merci

Il te faut faire une automatisation qui se déclenche sur le status de l’onduleur. OL c’est pour On Line. Quand il passe sur batterie, le status doit passer à OB pour On Battery

petite question quin a rien a voir avec le schmilblick, 15700secondes d autonomie , c’est quoi comme onduleur ? ( soit 4h30 ? )

le miens ,un APC1400 est déjà énorme (en taille et en poids ) et ne m’offre ‹ que › 2900s … ( soit 48min ) chargé a 13% avec switch, modem , noeud optique, nas , et jeedom branché dessus …

Comme toi un APC 1400 (tout neuf). Mais avec seulement le Pi dessus. Comme tu peux le voir, 0% de charge, donc facile d’avoir autant d’autonomie.

Sauf qu’en pratique, lors d’une coupure de courant, il a coupé avant un autre APC1400 qui lui est vieux de 3 ans et avec 1 ou 2 PC connectés dessus).
Donc bof bof l’autonomie…

Pour les autres, je viens de voir vos réponses. Merci.
Pour l’instant je n’ai plus le temps de m’en occuper, mais dès que j’arrive à m’y remettre je reviens sur le topic pour en discuter.

Alors voilà, ça y est, j’ai mis en place une notification.
En fait 3.
1 quand l’état de l’onduleur passe en « OB DISCHRG » (On Battery, discharge), une autre pour me dire que le courant est revenu et la battery est en charge « OL CHRG » (On Line, charge) et une dernière pour me dire que le battery est chargé à 100% « OL » (On Line).

Pour m’envoyer un message, je passe par le service « notify.huawei_lte » qui permet de m’envoyer des SMS par mon routeur 4G (avec carte SIM).

Merci pour votre aide !

Par contre, je ne vois pas comment je pourrai inclure le % de charge de la batterie (quand le courant est revenu), par exemple en envoyant un SMS toutes les 2 minutes avec le %.
Chez moi l’entité se nomme : sensor.myups_battery_charge_2

Pouvez-vous me confirmer que par le système de notification de HA ce n’est pas possible ?

Je peux le faire en créant plusieurs notif, avec des conditions « état » numérique, pour lire le % de charge de la batterie. J’essaie…

Je te confirme que tu peux:wink: :innocent:

Le plus simple : Partage toutes tes automatisations ici, ce sera plus simple que de te poser 1000 et 1 questions…

Voici un exemple de mon instance :

  - service: notify.telegram
    data:
      title: '🌍*Certificat*🌏'
      message: "Il reste {{states('sensor.cert_expiry_ndd_duckdns_org') | int}} jour(s) avant expiration du certificat de https://ndd.duckdns.org"

Je cherche encore l’intérêt d’avoir converti ( |int) sachant que je ne fais aucun calcul derrière… :upside_down_face:

Ca c’est une automatisation ?

Voici un exemple d’automatisation.

J’en ai créée 1 par tranche de 10% pour la décharge, et une autre pour série pour la charge. Donc ça m’en fait une vingtaine.

- id: '1614009462697'
  alias: SMS Onduleur charge entre 30 et 40%
  description: ''
  trigger:
  - platform: numeric_state
    entity_id: sensor.myups_battery_charge_2
    above: '30'
    below: '40'
  condition:
  - condition: state
    entity_id: sensor.myups_status_data_2
    state: OL CHRG
  action:
  - service: notify.huawei_lte
    data:
      message: Onduleur en charge, batterie entre 30 et 40
  - service: notify.notify
    data:
      message: Onduleur en charge, batterie entre 30 et 40%
  mode: single

J’ai donc testé. Batterie de l’onduleur à 100%, 3% pour de charge (mon rasp + 2 bricoles).
J’ai bien reçu régulièrement des notifs pour m’alerter de la décharge de la batterie.
Pour aller plus vite, j’ai allumé mon PC fixe qui est sur le même onduleur, c’est passé à 18% de charge.
Je me suis retrouvé à 45% de batterie, mais mes notifs ne passaient plus.

J’ai donc vu qu’au lieu d’indiquer la décharge via « OB DISCHRG » (On Battery, discharge), il a indiqué « FSD OB DISCHRG » (Fast Shutdown discharge".
Donc ça ne correspond plus à ma règle, les notifs ne sont plus envoyées.
Idem en charge, ça indique « FSD OL CHRG » (Fast Shutdown On Line Charge).
J’ai essayé de mettrre *OL CHRG (où j’espérais que l’étoile fonctionne) mais ça ne fonctionne pas. Et je ne vois pas de possibilité de mettre un OU et de rajouter les 2 possibilités.

Là il recharge toujours, il en est à 79% et il est toujours en FSD OL CHRG (et pas OL CHRG seulement).

Si je dois gérer les FSD OB DISCHRG et FSD OL CHRG en plus, ça va me faire 40 automatisations ! :unamused:

Bug du forum ? Quand je clique sur la liste des smileys puis un smiley, ça ne met pas le code du smiley mais ::

Un message a été scindé en un nouveau sujet : L’onduleur reste en FSD, même chargé à 100%

Et alors ? 40 ou 100 ça fait quoi ?

Après, à lire tes explications sur le fonctionnement il y a moyen de passer de 20 à 1 seule j’ai l’impression avec la fonction choose.

Ci dessous 2 exemples avec explications :

T’es sérieux ? 40 ou 100, si il y a une possibilité d’optimiser ça, ça te gêne pas ?
Bien sûr que ça fait quelque chose ! Quand tu dois éditer suite à une erreur ou évolution, ça prend du temps de passer sur toutes ces automatisations.
Sans parler du système, je ne sais pas comment fonctionne la gestion des automatismes, mais j’imagine que plus y’en a plus ça prend du temps de les lire, surtout si c’est à chaque modif d’état de toutes les entités.

J’ai regardé les 2 exemples que tu as donnés. Merci.

Mais ça me dépasse. Je comprends le principe, mais je ne vois pas comment l’adapter à mon cas. :cry:

Voici mes automatisations pour gérer les alertes sur coupure de courant et niveaux de décharge / charge de la batterie.

- id: '1614001256379'
  alias: SMS coupure de courant
  description: ''
  trigger:
  - platform: state
    entity_id: sensor.myups_status_data_2
    to: OB DISCHRG
  condition: []
  action:
  - service: notify.huawei_lte
    data:
      message: ATTENTION ! Coupure de courant
  - service: notify.notify
    data:
      message: ATTENTION ! Coupure de courant
  mode: single
- id: '1614001790606'
  alias: SMS coupure de courant terminée et charge 100%
  description: ''
  trigger:
  - platform: numeric_state
    entity_id: sensor.myups_battery_charge_2
    above: '100'
  condition: []
  action:
  - service: notify.huawei_lte
    data:
      message: Coupure de courant terminée et chargé à 100
  - service: notify.notify
    data:
      message: Coupure de courant terminée et chargé à 100
  mode: single
- id: '1614008281688'
  alias: SMS Onduleur batterie entre 0 et 20% - Extinction HA
  description: ''
  trigger:
  - platform: numeric_state
    entity_id: sensor.myups_battery_charge_2
    above: '0'
    below: '20'
  condition:
  - condition: state
    entity_id: sensor.myups_load_2
    state: OB DISCHRG
  action:
  - service: notify.huawei_lte
    data:
      message: ATTENTION ! Coupure de courant, batterie entre 0 et 20 !! Extinction
        de HA !!
  - service: notify.notify
    data:
      message: ATTENTION ! Coupure de courant, batterie entre 0 et 20% !! Extinction
        de HA !!
  - service: hassio.host_shutdown
    data: {}
  mode: single
- id: '1614008712832'
  alias: SMS Onduleur charge entre 90 et 99%
  description: ''
  trigger:
  - platform: numeric_state
    entity_id: sensor.myups_battery_charge_2
    above: '90'
    below: '99'
  condition:
  - condition: state
    entity_id: sensor.myups_status_data_2
    state: OL CHRG
  action:
  - service: notify.huawei_lte
    data:
      message: Onduleur en charge, batterie entre 90 et 99
  - service: notify.notify
    data:
      message: Onduleur en charge, batterie entre 90 et 99%
  mode: single
- id: '1614009303912'
  alias: SMS Onduleur charge entre 80 et 90%
  description: ''
  trigger:
  - platform: numeric_state
    entity_id: sensor.myups_battery_charge_2
    above: '80'
    below: '90'
  condition:
  - condition: state
    entity_id: sensor.myups_status_data_2
    state: '*OL*'
  action:
  - service: notify.huawei_lte
    data:
      message: Onduleur en charge, batterie entre 80 et 90
  - service: notify.notify
    data:
      message: Onduleur en charge, batterie entre 80 et 90%
  mode: single
- id: '1614009348093'
  alias: SMS Onduleur charge entre 70 et 80%
  description: ''
  trigger:
  - platform: numeric_state
    entity_id: sensor.myups_battery_charge_2
    above: '70'
    below: '80'
  condition:
  - condition: state
    entity_id: sensor.myups_status_data_2
    state: '*OL*'
  action:
  - service: notify.huawei_lte
    data:
      message: Onduleur en charge, batterie entre 70 et 80
  - service: notify.notify
    data:
      message: Onduleur en charge, batterie entre 70 et 80%
  mode: single
- id: '1614009375136'
  alias: SMS Onduleur charge entre 60 et 70%
  description: ''
  trigger:
  - platform: numeric_state
    entity_id: sensor.myups_battery_charge_2
    above: '60'
    below: '70'
  condition:
  - condition: state
    entity_id: sensor.myups_status_data_2
    state: '*OL CHRG'
  action:
  - service: notify.huawei_lte
    data:
      message: Onduleur en charge, batterie entre 60 et 70
  - service: notify.notify
    data:
      message: Onduleur en charge, batterie entre 60 et 70%
  mode: single
- id: '1614009418894'
  alias: SMS Onduleur charge entre 50 et 60%
  description: ''
  trigger:
  - platform: numeric_state
    entity_id: sensor.myups_battery_charge_2
    above: '50'
    below: '60'
  condition:
  - condition: state
    entity_id: sensor.myups_status_data_2
    state: OL CHRG
  action:
  - service: notify.huawei_lte
    data:
      message: Onduleur en charge, batterie entre 50 et 60
  - service: notify.notify
    data:
      message: Onduleur en charge, batterie entre 50 et 60%
  mode: single
- id: '1614009447635'
  alias: SMS Onduleur charge entre 40 et 50%
  description: ''
  trigger:
  - platform: numeric_state
    entity_id: sensor.myups_battery_charge_2
    above: '40'
    below: '50'
  condition:
  - condition: state
    entity_id: sensor.myups_status_data_2
    state: OL CHRG
  action:
  - service: notify.huawei_lte
    data:
      message: Onduleur en charge, batterie entre 40 et 50
  - service: notify.notify
    data:
      message: Onduleur en charge, batterie entre 40 et 50%
  mode: single
- id: '1614009462697'
  alias: SMS Onduleur charge entre 30 et 40%
  description: ''
  trigger:
  - platform: numeric_state
    entity_id: sensor.myups_battery_charge_2
    above: '30'
    below: '40'
  condition:
  - condition: state
    entity_id: sensor.myups_status_data_2
    state: OL CHRG
  action:
  - service: notify.huawei_lte
    data:
      message: Onduleur en charge, batterie entre 30 et 40
  - service: notify.notify
    data:
      message: Onduleur en charge, batterie entre 30 et 40%
  mode: single
- id: '1614009501559'
  alias: SMS Onduleur charge entre 20 et 30%
  description: ''
  trigger:
  - platform: numeric_state
    entity_id: sensor.myups_battery_charge_2
    above: '20'
    below: '30'
  condition:
  - condition: state
    entity_id: sensor.myups_status_data_2
    state: OL CHRG
  action:
  - service: notify.huawei_lte
    data:
      message: Onduleur en charge, batterie entre 20 et 30
  - service: notify.notify
    data:
      message: Onduleur en charge, batterie entre 20 et 30%
  mode: single
- id: '1614009528390'
  alias: SMS Onduleur charge entre 10 et 20%
  description: ''
  trigger:
  - platform: numeric_state
    entity_id: sensor.myups_battery_charge_2
    above: '10'
    below: '20'
  condition:
  - condition: state
    entity_id: sensor.myups_status_data_2
    state: OL CHRG
  action:
  - service: notify.huawei_lte
    data:
      message: Onduleur en charge, batterie entre 10 et 20
  - service: notify.notify
    data:
      message: Onduleur en charge, batterie entre 10 et 20%
  mode: single
- id: '1614009559033'
  alias: SMS Onduleur charge entre 0 et 10%
  description: ''
  trigger:
  - platform: numeric_state
    entity_id: sensor.myups_battery_charge_2
    above: '0'
    below: '10'
  condition:
  - condition: state
    entity_id: sensor.myups_status_data_2
    state: OL CHRG
  action:
  - service: notify.huawei_lte
    data:
      message: Onduleur en charge, batterie entre 0 et 10
  - service: notify.notify
    data:
      message: Onduleur en charge, batterie entre 0 et 10%
  mode: single
- id: '1614009626832'
  alias: SMS Onduleur DECHARGE entre 0 et 10%
  description: ''
  trigger:
  - platform: numeric_state
    entity_id: sensor.myups_battery_charge_2
    above: '0'
    below: '10'
  condition:
  - condition: state
    entity_id: sensor.myups_status_data_2
    state: OB DISCHRG
  action:
  - service: notify.huawei_lte
    data:
      message: COUPURE COURANT, onduleur en DECHARGE, batterie entre 0 et 10
  - service: notify.notify
    data:
      message: COUPURE COURANT, onduleur en DECHARGE, batterie entre 0 et 10%
  mode: single
- id: '1614009695746'
  alias: SMS Onduleur DECHARGE entre 10 et 20%
  description: ''
  trigger:
  - platform: numeric_state
    entity_id: sensor.myups_battery_charge_2
    above: '10'
    below: '20'
  condition:
  - condition: state
    entity_id: sensor.myups_status_data_2
    state: OB DISCHRG
  action:
  - service: notify.huawei_lte
    data:
      message: COUPURE COURANT, onduleur en DECHARGE, batterie entre 10 et 20
  - service: notify.notify
    data:
      message: COUPURE COURANT, onduleur en DECHARGE, batterie entre 10 et 20%
  mode: single
- id: '1614009724700'
  alias: SMS Onduleur DECHARGE entre 20 et 30%
  description: ''
  trigger:
  - platform: numeric_state
    entity_id: sensor.myups_battery_charge_2
    above: '20'
    below: '30'
  condition:
  - condition: state
    entity_id: sensor.myups_status_data_2
    state: OB DISCHRG
  action:
  - service: notify.huawei_lte
    data:
      message: COUPURE COURANT, onduleur en DECHARGE, batterie entre 20 et 30
  - service: notify.notify
    data:
      message: COUPURE COURANT, onduleur en DECHARGE, batterie entre 20 et 30%
  mode: single
- id: '1614009748804'
  alias: SMS Onduleur DECHARGE entre 30 et 40%
  description: ''
  trigger:
  - platform: numeric_state
    entity_id: sensor.myups_battery_charge_2
    above: '30'
    below: '40'
  condition:
  - condition: state
    entity_id: sensor.myups_status_data_2
    state: OB DISCHRG
  action:
  - service: notify.huawei_lte
    data:
      message: COUPURE COURANT, onduleur en DECHARGE, batterie entre 30 et 40
  - service: notify.notify
    data:
      message: COUPURE COURANT, onduleur en DECHARGE, batterie entre 30 et 40%
  mode: single
- id: '1614009775730'
  alias: SMS Onduleur DECHARGE entre 40 et 50%
  description: ''
  trigger:
  - platform: numeric_state
    entity_id: sensor.myups_battery_charge_2
    above: '40'
    below: '50'
  condition:
  - condition: state
    entity_id: sensor.myups_status_data_2
    state: OB DISCHRG
  action:
  - service: notify.huawei_lte
    data:
      message: COUPURE COURANT, onduleur en DECHARGE, batterie entre 40 et 50
  - service: notify.notify
    data:
      message: COUPURE COURANT, onduleur en DECHARGE, batterie entre 40 et 50%
  mode: single
- id: '1614009804125'
  alias: SMS Onduleur DECHARGE entre 50 et 60%
  description: ''
  trigger:
  - platform: numeric_state
    entity_id: sensor.myups_battery_charge_2
    above: '50'
    below: '60'
  condition:
  - condition: state
    entity_id: sensor.myups_status_data_2
    state: OB DISCHRG
  action:
  - service: notify.huawei_lte
    data:
      message: COUPURE COURANT, onduleur en DECHARGE, batterie entre 50 et 60
  - service: notify.notify
    data:
      message: COUPURE COURANT, onduleur en DECHARGE, batterie entre 50 et 60%
  mode: single
- id: '1614009830686'
  alias: SMS Onduleur DECHARGE entre 60 et 70%
  description: ''
  trigger:
  - platform: numeric_state
    entity_id: sensor.myups_battery_charge_2
    above: '60'
    below: '70'
  condition:
  - condition: state
    entity_id: sensor.myups_status_data_2
    state: OB DISCHRG
  action:
  - service: notify.huawei_lte
    data:
      message: COUPURE COURANT, onduleur en DECHARGE, batterie entre 60 et 70
  - service: notify.notify
    data:
      message: COUPURE COURANT, onduleur en DECHARGE, batterie entre 60 et 70%
  mode: single
- id: '1614009862354'
  alias: SMS Onduleur DECHARGE entre 70 et 80%
  description: ''
  trigger:
  - platform: numeric_state
    entity_id: sensor.myups_battery_charge_2
    above: '70'
    below: '80'
  condition:
  - condition: state
    entity_id: sensor.myups_status_data_2
    state: OB DISCHRG
  action:
  - service: notify.huawei_lte
    data:
      message: COUPURE COURANT, onduleur en DECHARGE, batterie entre 70 et 80
  - service: notify.notify
    data:
      message: COUPURE COURANT, onduleur en DECHARGE, batterie entre 70 et 80%
  mode: single
- id: '1614009954620'
  alias: SMS Onduleur DECHARGE entre 80 et 90%
  description: ''
  trigger:
  - platform: numeric_state
    entity_id: sensor.myups_battery_charge_2
    above: '80'
    below: '90'
  condition:
  - condition: state
    entity_id: sensor.myups_status_data_2
    state: OB DISCHRG
  action:
  - service: notify.huawei_lte
    data:
      message: COUPURE COURANT, onduleur en DECHARGE, batterie entre 80 et 90
  - service: notify.notify
    data:
      message: COUPURE COURANT, onduleur en DECHARGE, batterie entre 80 et 90%
  mode: single
- id: '1614010001833'
  alias: SMS Onduleur DECHARGE entre 90 et 100%
  description: ''
  trigger:
  - platform: numeric_state
    entity_id: sensor.myups_battery_charge_2
    above: '90'
    below: '100'
  condition:
  - condition: state
    entity_id: sensor.myups_status_data_2
    state: OB DISCHRG
  action:
  - service: notify.huawei_lte
    data:
      message: COUPURE COURANT, onduleur en DECHARGE, batterie entre 90 et 100
  - service: notify.notify
    data:
      message: COUPURE COURANT, onduleur en DECHARGE, batterie entre 90 et 100%
  mode: single

Si quelqu’un peut m’aiguiller pour optimiser ça et réduire le nombre d’automatisation…
merci :slight_smile:

Oui… mais ma remarque allait dans le sens qu’il ne faut pas se limiter dans le nombre d’automatisation sur son serveur…
Si ton onduleur prends 10 états possibles il te faudra 10 tests, que tu peux faire en une automatisation ou 10… Certaines personnes préfèrent gérer une automatisation par fonction d’autre par test…

Si y a le besoin, oui il faut créer les automatisations.

Mais dans mon cas, j’ai 1 série de 10 automatisation pour la décharge (une alerte quand la batterie passe de 90 à 80%, 80 à 70, etc) et une autre série de 10 lors de la charge.

Je n’ai pas trouvé comment en faire que 2, qui indiquerait le niveau de charge / décharge.

Et ça c’était uniquement avec les 3 états qui remontaient avant. Maintenant avec le FSD je dois doubler les automatisation (car je n’ai pas trouvé comment indiquer un OU ( « FDS OL ou OL » ) dans le déclencheur, ce qui éviterai de doubler les automatisation.

Dès que j’ai un peu de temps je te réponds

Si personnes d’ici là ne t’a aider bien sûr