Calcul intervalle de temps en jour pour notification

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 ! :+1:

##########################
# 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  
    ###############################################################################