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

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 🔌