Bonjour,
J’ai un sensor texte créé par un appareil ESPHome qui y place des chaines de caractères.
J’ai une automation qui traite ces chaines à leur arrivée.
Je voudrais que l’automation puisse ensuite effacer la chaine du sensor.
L’outil de dév. ETAT permet cela … Je crois qu’il faut envoyer un event … mais là je cale.
D’avance merci.
Salut
Je pense qu’il faut trouver une autre mécanique.
Sur le principe c’est pas au consommateur de l’information de modifier celle-ci mais bien au détenteur.
L’ESP a en plus toutes les chances de la remettre à jour juste derrière.
Là sans plus de détails ça ressemble à de la consommation de messages, ça s’apparente à MQTT par exemple
Bien sûr je peux trouver autre chose. Par exemple je demande à l’ESP de poster une chaine vide 2s après l’envoi d’une chaine de données. Mais ça ne satisfait pas mon esprit cartésien !
J’ai trouvé, il faut passer par un script Python :
- Configurer Python : Python Scripts - Home Assistant
- Redémarrer HA (J’ai du entièrement redémarrer le PI5 pour que ça marche)
- Créer le script et le nommer par exemple : set_texte.py
- Y coller :
hass.states.set('sensor.appareil_nom-du-sensor', 'Nouveau texte') - Écrire dans le script :
- action: python_script.set_texte
Ceci dit, comme je remonte des infos vers l’ESP je peux aussi lui demander de modifier à ce moment le sensor texte (En fait je veux l’effacer)
Salut,
Là tu détournes la notion de « capteur », pas très cartésien pour le coup ![]()
C’est peut-être la logique initiale qui a surement des alternatives, un Esphome qui communique des ordres à HA par un texte c’est curieux…
Le composant « key_collector » de ESPHome crée ce text_sensor, example :
key_collector:
- id: pincode_reader
source_id: clavier
min_length: 4
max_length: 4
allowed_keys: "0123456789"
timeout: 8s
on_progress:
- script.execute:
id: bipbip
nombre_bip: 1
on_result:
- text_sensor.template.publish:
id: pincode
state: !lambda "return x.c_str();"
on_timeout:
- script.execute:
id: bipbip
nombre_bip: 3
S’agissant ici d’un code « secret » je préfère l’effacer après l’avoir traité.
L’alternative c’est d’envoyer un ordre à l’ESP pour lui demander de l’effacer.
Ce sujet a été automatiquement fermé après 2 jours. Aucune réponse n’est permise dorénavant.