Bonjour à tous,
Dans mon installation j’ai des « switch » mqtt d’appareil ESPeasy. qui sont défini ainsi dans un fichier mqqt.yaml
switch:
- name: "Lumière Est"
unique_id: switch.lumiere_est
command_topic: "ESP_Easy_1/gpio/0"
state_topic: "ESP_Easy_1/OUT1/OUT1"
payload_on: "1"
payload_off: "0"
device_class: switch
retain: true
device:
name: "Lumières Devant"
identifiers: "lumieresdevant"
Jusque là pas de soucis, ça fonctionne.
Le problème c’est qu’en cas de redémarrage de HA (ce qui arrive quand même assez souvent…) les entités définies ainsi se retrouvent dans un état indéfini.
Sur le dashboard ça donne ça :
Là non plus c’est pas génant, ça n’empêche pas d’allumer en cas de besoin.
Par contre là où ça devient plus gênant, c’est que j’ai une automatisation qui pour se déclencher, à besoin de l’état des lampes (c’est comme ça dans la logique, une action qui ne se fait que si la lampe est éteinte, et ignorée si elle est déjà allumée) et comme l’état n’est pas défini, l’automatisation ne fonctionne pas comme attendu.
J’ai essayé de faire une automatisation qui au démarrage de HA défini l’état de ce switch sur OFF (état supposé qui n’est pas forcement vrai mais ce n’est pas important) mais ça ne fonctionne pas… étant déjà physiquement sur off, il ignore la commande et l’état ne remonte pas, il reste donc indéfini.
Je suppose qu’habituellement on résous ce problème avec le QOS, mais je n’ai pas trouvé comment régler ça dans ESPeasy.
Donc la question c’est : est-ce qu’il y a moyen de définir un état par défaut dans la déclaration de mon entité mqtt ?
Sinon, un moyen (via script ou automatisation) de forcer l’état d’une entité ?
Pour contourner j’ai ajouté un test sur l’état « inconnu » de mon switch dans mon automatisation, mais j’aimerais une autre methode.
Merci d’avance.