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

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

C’est sympa, merci !

Je continue de cherche de mon côté, j’aimerai trouver le moyen d’inclure dans le message qui est envoyé (notification) le niveau de batterie, et non pas comme mes premiers tests « entre 90 et 80 ».

Je t’ai mis ça là : Envoyer des alertes (mail, etc) lors d'une coupure de courant? - #12 par Clemalex

L’information est entre les {{ }}

Je n’avais pas compris sur le coup, cette fois-ci c’est bon !

- id: '1614076057203'
  alias: 00 TEST
  description: ''
  trigger:
  - platform: numeric_state
    entity_id: sensor.myups_battery_charge_2
    above: '0'
    below: '101'
  condition: []
  action:
  - service: notify.notify
    data:
      message: il reste {{states('sensor.myups_battery_charge_2') | int}} % de batterie
  mode: single

Je reçois la notif !
Merci :smiley:

Donc en gros je pourrai m’arrêter là. A chaque changement du niveau de la batterie, je reçois une info. Si y a coupure de courant, ça passera obligatoirement en dessous de 100%, mais j’aurai bien aimé avoir une alerte sur coupure et une autre sur retour du courant.

Et là j’y reviens, dans les déclencheurs, je n’ai pas trouvé comment utiliser un OU (OL ou FSD OL,
OB DISCHRG ou FSD OB DISCHRG etc

message: 'Onduleur en {{states(''sensor.myups_status_data_2'') | int}} il reste {{states(''sensor.myups_battery_charge_2'') | int}} % de batterie'

J’ai ajouté l’état de l’onduleur pour voir si il est en charge ou décharge, mais ça me met 0 dans le message que je reçois, au lieu de OL, FSD OL, OB DISCHRG,; etc

:expressionless:

Normal, tu le convertis en INTEGER donc du texte en NOMBRE donne 0 s’il n’est pas représentatif…

:sweat_smile:

Si je laisse |int l’assistant de création de l’automatisation m’envoie balader (j’avais tenté avant de poster).

Donc je ne sais pas quoi mettre dans ce cas.

c’est ce message qu’il faut nous fournir pour t’aider… :grin: :upside_down_face:

Je vois qu’à un moment tu as mis :

entity_id: sensor.myups_load_2

J’avais cru comprendre que l’état de l’onduleur est remonté par myups_status_data_2 et que la charge de la batterie par sensor.myups_battery_charge_2.

D’ailleurs l’entité sensor.myups_battery_charge_2 passe à 101 quand la batterie est pleine ? L’entité myups_status_data_2 ne te donne pas l’information ?

Qu’elle est l’état de sensor.myups_status_data_2 quand il y a du courant et que la batterie est pleine ?

Je viens de retenter, et maintenant ça passe, je reçois le bon message…

message: 'Onduleur en {{states(''sensor.myups_status_data_2'')}} il reste {{states(''sensor.myups_battery_charge_2'') | int}} % de batterie'

J’ai dû me tromper lors du 1er test. Désolé.

Tu as raison, pour le LOAD, je me suis trompé dans une des automatisations, je n’ai pas sélectionné la bonne entité (DATA) pour lire l’état remonté.

Pour le 101, j’avais testé avec 100, mais je ne recevais pas de notif quand la batterie était chargée à fond (100%) (en jouant à la main avec le changement d’état via les « outils de dev ». Puisque c’est « Bellow / en dessous de », j’ai mis 101, donc 100 est valide.

Pour répondre à ta dernière question, quand le courant est OK et batterie pleine, avant c’était OL, maintenant c’est FSD OL (fast shutdown online).

Encore merci pour ton aide !! :slight_smile:

Voici un exemple comme convenu :
:warning: Je n’ai pas du tout fait la mise au point…
:information_source: Lis tranquillement et poses TOUTES les questions que tu veux :+1:

Avec le code suivant, tu sera spammé de notification toutes les minutes, mais j’ai fais comme tu le demande pour que tu t’y retrouves.
Je mets un second code qui à le même comportement que le 1er mais qui notifie à chaque changement d’état du niveau de batterie et non plus toutes les minutes (ça à l’avantage de ne pas recevoir 2x ou + la notification avec le même niveau de batterie).

Code 1 (qui réponds à ta demande initiale)
id: 'gestion_onduleur'
mode: restart #Pourquoi RESTART ? -> https://www.home-assistant.io/docs/automation/modes/
alias: Gestion Onduleur
description: "Notifie en fonction des changements d'état de l'onduleur"
trigger:
  - platform: state
    entity_id: sensor.myups_status_data_2
condition: []
action:
## Utilisation de choose (if elsif/else ). L'ordre est important.
  - choose:
      ## Coupure de Courant
      - conditions:
        - condition: or
          conditions:
            - condition: state
              entity_id: "sensor.myups_status_data_2"
              state: "OB DISCHRG"
            - condition: state
              entity_id: "sensor.myups_status_data_2"
              state: "FSD OB DISCHRG"
        sequence:
          - service: notify.huawei_lte
            data:
              message: >
                ⚠️ Détection : {{(now()|string).split('.')[0]}}
              title: ⚡ Coupure de Courant 
          - service: notify.notify
            data:
              message: >
                ⚠️ Détection : {{(now()|string).split('.')[0]}}
              title: ⚡ Coupure de Courant 🔋
          - repeat:    
              sequence:
                - service: notify.huawei_lte
                  data:
                    message: "🔋 Niveau : {{ states('sensor.myups_battery_charge_2')|int }}%"
                    title: ⚡ Décharge en cours ↘️
                - service: notify.notify
                  data:
                    message: "🔋 Niveau : {{ states('sensor.myups_battery_charge_2')|int }}%"
                    title: ⚡ Décharge en cours ↘️
                - delay:
                    minutes: 1
              while:
                - condition: or
                  conditions:
                    - condition: state
                      entity_id: "sensor.myups_status_data_2"
                      state: "OB DISCHRG"
                    - condition: state
                      entity_id: "sensor.myups_status_data_2"
                      state: "FSD OB DISCHRG"
      ## Retour du Courant
      - conditions:
            # Si l'état précédent comportait le texte "DISCHRG" cela veux dire que l'onduleur était sur batterie et qu'il vient
            # de passer sur secteur.
          - condition: template
            value_template: >
              {% set etat_precedent = trigger.from_state.state %}
              {% if 'DISCHRG' in etat_precedent.split() %}
                  true
              {% else %}
                  false
              {% endif %}
          - "{{ trigger.to_state.state != 'unknown' }}"
          - "{{ trigger.to_state.state != 'unavailable' }}"
        sequence:
          - service: notify.huawei_lte
            data:
              message: "ℹ️ Détection : {{(now()|string).split('.')[0]}}"
              title: ⚡ Retour du Courant 🔌 
          - service: notify.notify
            data:
              message: "ℹ️ Détection : {{(now()|string).split('.')[0]}}"
              title: ⚡ Retour du Courant 🔌
          - choose:
              ## Chargement de la batterie
              - conditions:
                - condition: template
                  value_template: >
                    {% set etat_actuel = trigger.to_state.state %}
                    {% if 'CHRG' in etat_actuel.split() %}
                        true
                    {% else %}
                        false
                    {% endif %}
                sequence:
                  - repeat:    
                      sequence:
                        - service: notify.huawei_lte
                          data:
                            message: "🔋 Niveau : {{ states('sensor.myups_battery_charge_2')|int }}%"
                            title: ⚡ Recharge en cours ↗️
                        - service: notify.notify
                          data:
                            message: "🔋 Niveau : {{ states('sensor.myups_battery_charge_2')|int }}%"
                            title: ⚡ Recharge en cours ↗️
                        - delay:
                            minutes: 1
                      while:
                        - condition: numeric_state
                          entity_id: sensor.myups_battery_charge_2
                          below: 100
Code 2 (avec notification sur % de batterie):
mode: restart
alias: Gestion Onduleur
id: gestion_onduleur
description: Notificatiob en fonction des changements d'état de l'onduleur
trigger:
  - platform: state
    entity_id: sensor.myups_status_data_2
  - platform: state
    entity_id: sensor.myups_battery_charge_2
condition: []
action:
  - choose:
      - conditions:
          - condition: template
            value_template: >-
              {{trigger.from_state.entity_id.split('.')[1] ==
              'myups_battery_charge_2' }}
        sequence:
          - service: notify.huawei_lte
            data:
              message: "🔋 Niveau : {{ states('sensor.myups_battery_charge_2')|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: "🔋 Niveau : {{ states('sensor.myups_battery_charge_2')|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 %}               
      - conditions:
          - condition: template
            value_template: >-
              {{trigger.from_state.entity_id.split('.')[1] ==
              'myups_status_data_2' }}
        sequence:
          - choose:
              - conditions:
                  - condition: or
                    conditions:
                      - condition: state
                        entity_id: sensor.myups_status_data_2
                        state: OB DISCHRG
                      - condition: state
                        entity_id: sensor.myups_status_data_2
                        state: FSD OB DISCHRG
                sequence:
                  - service: notify.huawei_lte
                    data:
                      message: |
                        ⚠️ Détection : {{(now()|string).split('.')[0]}}
                      title: ⚡ Coupure de Courant
                  - service: notify.notify
                    data:
                      message: >
                        ⚠️ Détection : {{(now()|string).split('.')[0]}}
                      title: ⚡ Coupure de Courant 🔋
              - conditions:
                    # Si l'état précédent comportait le texte "DISCHRG" cela veux dire que l'onduleur était sur batterie et qu'il vient
                    # de passer sur secteur.
                  - condition: template
                    value_template: >
                      {% set etat_precedent = trigger.from_state.state %}
                      {% if 'DISCHRG' in etat_precedent.split() %}
                          true
                      {% else %}
                          false
                      {% endif %}
                  - "{{ trigger.to_state.state != 'unknown' }}"
                  - "{{ trigger.to_state.state != 'unavailable' }}"
                sequence:
                  - service: notify.huawei_lte
                    data:
                      message: "ℹ️ Détection : {{(now()|string).split('.')[0]}}"
                      title: ⚡ Retour du Courant 🔌 
                  - service: notify.notify
                    data:
                      message: "ℹ️ Détection : {{(now()|string).split('.')[0]}}"
                      title: ⚡ Retour du Courant 🔌