Tu ne pourras pas l’empêcher mais tu peux limiter l’impact en créant une entité personnalisée qui reprend toutes les informations du capteur source (documentation template sensor) que tu utiliseras ensuite dans tes scripts, automatisations et tableaux de bord. Ensuite à chaque changement de pile, tu changes le nom de l’entité utilisée dans la définition de l’entité (qui n’est qu’une copie en fait).
ca donnerais quelque chose du genre :
sensor:
- platform: template
sensors:
sensor.oregon_001:
friendly_name: "Température Extérieure"
unique_id : "oregon_001_temperature_exterieure"
unit_of_measurement: "°C"
device_class: temperature
value_template: >-
{{ states('sensor.oregonv1_0003_temp') }}
attribute_templates:
premier_attribut: >-
{{ state_attr('sensor.oregonv1_0003_temp','premier_attribut') }}
deuxième_attribut: >-
{{ state_attr('sensor.oregonv1_0003_temp','deuxième_attribut') }}
troisieme_attribut: >-
{{ state_attr('sensor.oregonv1_0003_temp','troisieme_attribut') }}
et tu te fais une automatisation qui détecte et t’avertie si ton entité devient indisponible :
- id: 'entite_oregon_indisponible'
alias: entite_oregon_indisponible
description: "Automatisation détectant si un capteur oregon devient indisponible (c'est le cas suite à un changement de pile car l'entité est recréée sous un autre identifiant.)"
trigger:
- platform: state
to: unavailable
entity_id: sensor.oregon_001
- platform: state
to: unavailable
entity_id: sensor.oregon_002
action:
- service: notify.notify
data_template:
title: "{{trigger.from_state.entity_id}} indisponible !"
message: |
L'entité **{{trigger.from_state.name}}** *({{trigger.from_state.entity_id}})* est indisponible !
Si c'est suite à un changement de pile, pensez à modifier sa **définition** !.
- service: persistent_notification.create
data:
message: "L'entité **{{trigger.from_state.name}}** *({{trigger.from_state.entity_id}})* est indisponible ! \n Si c'est suite à un changement de pile, pensez à modifier sa **définition** !"
title: "{{trigger.from_state.entity_id}} indisponible !"
notification_id: "{{ (range(1, 9999)|random) }}"
Ca ne règle pas le soucis, mais l’impact est seulement sur un fichier…