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

Voici donc l’automatisation qui fonctionne pour mon besoin :

alias: Gestion Onduleur
description: Notification 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_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 ⚡ Coupure de Courant :
                        {{(now()|string).split('.')[0]}}
                  - service: notify.notify
                    data:
                      message: '⚠️ Détection : {{(now()|string).split(''.'')[0]}}'
                      title: "⚡ Coupure de Courant \U0001F50B"
                  - service: persistent_notification.create
                    data:
                      message: '⚠️ Détection : {{(now()|string).split(''.'')[0]}}'
                      title: "⚡ Coupure de Courant \U0001F50B"
                      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.huawei_lte
                    data:
                      message: "ℹ️ Détection ⚡ Retour du Courant \U0001F50C : {{(now()|string).split('.')[0]}}"
                  - service: notify.notify
                    data:
                      message: 'ℹ️ Détection : {{(now()|string).split(''.'')[0]}}'
                      title: "⚡ Retour du Courant \U0001F50C"
                  - service: persistent_notification.create
                    data:
                      message: 'ℹ️ Détection : {{(now()|string).split(''.'')[0]}}'
                      title: "⚡ Retour du Courant \U0001F50C"
                      notification_id: '{{ (range(1, 9999)|random) }}'
      - conditions:
          - condition: template
            value_template: >-
              {{trigger.from_state.entity_id.split('.')[1] ==
              'myups_battery_charge_2' }}
        sequence:
          - service: notify.huawei_lte
            data:
              message: >-
                ⚡ Onduleur niveau de batterie : {{
                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: "\U0001F50B Onduleur niveau de batterie : {{ 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: persistent_notification.create
            data:
              message: "\U0001F50B Onduleur niveau de batterie : {{ 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 %}\n    ⚡ Décharge en cours ↘️\n{% else %}\n   \U0001F50C Recharge en cours ↗️\n{% endif %}               \n"
              notification_id: '{{ (range(1, 9999)|random) }}'
mode: restart

1 « J'aime »