Garder l'état d'un binary_sensor aprés redémarrage de HA

Bonjour,
Après redémarrage de HA je n’arrive pas a garder l’état des capteur de position de porte, fenêtre etc…
voici une partie du code :

binary_sensor:
  - platform: template
    sensors:      
      porte_garage_up:
        friendly_name: "position Porte Garage"
        value_template: > 
          {{ is_state('sensor.position_porte', "0") }} 
         
  - platform: template
    sensors:      
      fenetre_garage_up:
        friendly_name: "position Fenêtre Garage"
        value_template: > 
          {{ is_state('sensor.position_fenetre', "0") }} 

les capteurs sont toujours a OFF après redémarrage
Merci pour l’aide

Type installation : docker sous Debian 10
Version HA : 2020.12.7
Ver. Supervisor :

Juste pour bien comprendre :
Quand la porte ou la fenêtre est ouverte, tes entités passent à Vrai, puis si tu redémarre et que la porte ou la fenêtre est toujours ouverte tu as False tant que tu la ferme pas et que tu l’ouvre à nouveau ?

OUI tout à fait
je ne comprends pas
merci

mais cela se produit que sur les " binary_sensor"

Effectivement, c’est étrange, cela voudrais dire que le modèle n’est pas interprété au démarrage…

Peut être ajouter un homeassistant.update_entity comme action dans une automatisation avec comme déclencheur le démarrage de HA…

  trigger:
    - platform: homeassistant
      event: start

C’est une idée comme ça… Si tu veux la tester rapidement, tu ouvre la porte, tu redémarre, tu va dans les outils de développement et tu lance le service update_entity sur l’entité de ta porte et tu vérifie qu’il s’est mis à jour…

ca reste étrange comme comportement

cela ne marche pas
mais tu m’a mis sur une piste, mon binary_senor est créé sur un message mqtt envoyé par tamosta je te met la config :

  - platform: mqtt
    state_topic: stat/garage/ETAT3
    name: Position_fenetre 
    value_template: "{{value_json.POWER3 }}"
    
  - platform: mqtt
    state_topic: stat/garage/ETAT2
    name: Position_porte 
    value_template: "{{value_json.POWER2 }}"

je penses qu’au redémarrage de HA il n’a pas l’info venant de tamosta

Du mqtt…

Du coup, pourquoi ne pas passer directement par un binary_sensor avec la clé retain ?

Documentation

1 « J'aime »

merci
je regarde et vous tient au courant

1 « J'aime »

Hello!

Les template binary_sensor ne gardent pas leur état au reboot de HA, c’est comme ça… Leur état est « recalculé » par rapport au contenu du value_template.
Or il arrive que l’état termine à off ou on car toutes les entités de la partie value_template n’ont pas retrouvées leur état « normal » ou « nominal » (peuvent être none ou unavailable par exemple)

La solution que j’ai trouvé dans mon cas a été d’utiliser l’option delay_on et de mettre à 1 minute (pas d’impact dans mon cas). Ainsi au reboot+1min toutes les entités que j’utilise sont disponibles avec leur bon état et le binary_sensor ne fait pas n’importe quoi (il reste à off au lieu de passer a on au redémarrage puis off 15 à 30s plus tard)

Dans ton cas, il faut effectivement utiliser l’option MQTT retain

merci pour vos réponses
je galère pour créer un un binary_sensor avec la clé retain sur tamosta
topic envoyer : stat/test/ETAT3
message mqtt reçu de tamosta :
{"POWER3":"1"} ou {"POWER3":"0"}
mon code bêtement recopier de la doc HA

binary_sensor:

  - platform: mqtt
    name: test ouverture
    state_topic: "stat/test/ETAT3"
    payload_on: "ON"
    availability:
      - topic: "stat/test/ETAT3"
        payload_available: "online"
        payload_not_available: "offline"
    qos: 0
    
    value_template: '{{ value_json.state }}'  

j’ai un peu (beaucoup) de mal a comprendre comment cela fonctionne
je vois mon capteur dans HA mais il est toujours état unavailable