# Calcul intervalle de temps en jour pour notification

**URL:** <https://forum.hacf.fr/t/calcul-intervalle-de-temps-en-jour-pour-notification/1697>\
**Category:** Entraide Home Assistant\
**Created:** [Décembre 26, 2020, 10:35 UTC](https://forum.hacf.fr/t/calcul-intervalle-de-temps-en-jour-pour-notification/1697 "2020-12-26T10:35:08Z")\
**Posts on this page:** 1\
**Showing post:** 4

<div class="post-metadata">

**Author:** ![Clemalex](https://forum.hacf.fr/user_avatar/forum.hacf.fr/clemalex/32/3691_2.png) [@Clemalex](https://forum.hacf.fr/u/Clemalex)\
**Post date:** [Décembre 26, 2020, 4:17 UTC](https://forum.hacf.fr/t/calcul-intervalle-de-temps-en-jour-pour-notification/1697/4 "2020-12-26T16:17:20Z")

</div>

Tout va dépendre de la robustesse que tu souhaites en fait.

Mais c’est faisable comme ci-dessous par exemple.

Mon code permet de sauvegarder dans un `input_text` la date du dernier changement d’état du capteur surveillé, dans un autre `input_text` son dernier état, et dans un dernier `input_text` la date du dernier démarrage de HA.

La remise à zéro de la date du dernier changement d’état se fait :

- Au démarrage, si et seulement si l’état sauvegardé est différent de l’état actuel,
- Au changement d’état du capteur surveillé.

La remise à zéro de la date du dernier changement d’état ne se fait pas :

- Au démarrage, si l’état du capteur surveillé n’a pas changé

En résumé, l’entité `input_text.date_dernier_evenement` contient la date du dernier changement d’état du capteur `sensor.capteur_surveille`, ceci malgré un redémarrage du serveur HA qui aura pour effet de remettre à zéro la date du dernier enregistrement du capteur `sensor.capteur_surveille`.

SI vous voyez des coquilles dans le code, ne pas hésiter à le dire ! 👍

```yaml
##########################
# Utilisé pour les tests #
##########################
sensor:
  - platform: template
    sensors:
      capteur_surveille: #Le capteur que l'on surveille
        friendly_name: "capteur_surveille"
        value_template: "toto"
        device_class: timestamp
########################

#########################
# Entités accueillantes #
#########################
input_text:
  date_dernier_evenement: #Contient la date du dernier changement d'état du capteur surveillé
    name: date_dernier_evenement
  etat_dernier_evenement: #Contient le dernier état du capteur surveillé
    name: etat_dernier_evenement
  date_dernier_demarrage: #Contient la date du dernier démarrage de HA
    name: date_dernier_demarrage
#########################
    
#########################
# Automatisations #
#########################
automation:
  - id: 'automatisation_mise_a_jour_de_la_date'
    ######################################################################################################
    # Automatisation permettant de sauvegarder la date du dernier changement d'état du capteur surveillé #
    # avec conservation de la date en cas de démarrage de HA si le même état #
    ######################################################################################################
    alias: automatisation_mise_a_jour_de_la_date
    trigger:
    - platform: state
      entity_id: sensor.capteur_surveille    
    - platform: homeassistant
      event: start  
    condition:
    action:
    - choose:
        - conditions:
            - condition: template
              value_template: "{{ states.sensor.capteur_surveille.last_changed != states.sensor.date_dernier_demarrage.last_changed }}"
            - condition: template
              value_template: "{{ states('input_text.etat_dernier_evenement') != states('sensor.capteur_surveille') }}"
          sequence:
            - data:
                entity_id: input_text.date_dernier_evenement
                value: "{{ states.sensor.capteur_surveille.last_changed }}"
              service: input_text.set_value
            - data:
                entity_id: input_text.etat_dernier_evenement
                value: "{{ states('sensor.capteur_surveille') }}"
              service: input_text.set_value
    ######################################################################################################

  - id: 'automatisation_date_du_dernier_demarrage'
    ###############################################################################
    # Automatisation qui permet de sauvegarder la date du dernier démarrage de HA #
    # utilisé comme condition pour la sauvegarde de la date du capteur surveillé #
    ###############################################################################
    alias: automatisation_date_du_dernier_demarrage
    trigger:
      platform: homeassistant
      event: start
    condition: []
    action:
    - data:
        entity_id: input_text.date_dernier_demarrage
        value: "{{ states.sensor.capteur_surveille.last_changed }}"
      service: input_text.set_value  
    ###############################################################################

```

---

_[View the full topic](https://forum.hacf.fr/t/calcul-intervalle-de-temps-en-jour-pour-notification/1697)._
