Changer le résultat d'un attribut d'état d'une entité

Nico Écris par Nico
  3 min de lecture

Cet Article a été vu ... fois

Changer le résultat d'un attribut d'état d'une entité

Dans l’article précédent je t’avais montré comment créer une moyenne d’états sur entités, en faisant un appel sur un état d’entité states() qui relève directement l’état de cette entité. Aujourd’hui c’est différent, je vais te montrer comment travailler avec les attributs des états des entités.

Prérequis

Home Assistant d’installé

Box Home Assistant Green en vente chez domadoo à moins de 100€

Box HomeAssistant Green

Par Nabu Casa

Box Home Assistant Green en vente chez domadoo à moins de 100€

trouver l’ensemble des fonctions d’une entité

Rien de plus simple rends toi dans:

Outils de développement > onglet états, ensuite tu cherches à l’aide des filtres

recherche d'informations sur l'état et l'attribut d'état sur entité

Info: tu peux aussi travailler sur les attributs d’états des entités directement dans les scénarios ( automatisations ) de Home Assistant et oui depuis peu de temps elles sont répertoriées en fonction de l’entité sélectionnée précédemment, je trouve ça gratifiant.

gestion des attributs des entités directement dans une automatisation home assistant

Bref lors de l’installation chez August, de robinets thermostatiques de différentes marques j’ai eu besoin d’uniformiser les résultats des commandes afin de pouvoir travailler plus facilement dans les automatisations.

Template et entité

Pour créer un template rien de plus simple rends-tois dans home assistant

Paramètres/entrées/créer-une-entrée/template/Modéliser-un-capteur

## Explication du code

ci-dessous le code, tu n’es pas obligé de mettre la balise {{ result }} qui est là surtout pour lire le résultat de la commande.

Ce que j’ai fait, je récupère l’attribut d’état running state de l’entité climate.thermostat_salon et je met une condition si le resultat est heat, le transformer en résultat on sinon off

la fonction running_state d’un module thermostatique a comme réponse en général Idle ou Heat, mais dans mon cas de figure j’avais un robinet thermostatique Aqara SRTS-01 qui ne possédait pas cette fonction alors j’ai du adapter un code et dans home-assistant c’est largement faisable.

### Place aux explications du code

On enregistre le resultat de l’attribut d’état running_state

{%- set result = state_attr('climate.thermostat_salon', 'running_state') %}

Si le résultat par défaut est heat

{%- if result == 'heat' %}

On le transforme en On {%- set result = 'on' %}

Sinon en Off {%- else %} {%- set result = 'off' %}

{%- set result = state_attr('climate.thermostat_salon', 'running_state') %}
{%- if result == 'heat' %}
{%- set result = 'on' %}
{{ result }}
{%- else %}
{%- set result = 'off' %}
{{ result }}
{%- endif %}

Conclusion

Grâce à ce mini-tutos tu pourras faire tes premiers pas dans les templates de home-assistant et transformer des résultats d’attributs d’état d’une entité.

Nico

Nico

Membre fondateur du site Haade, un passionné de domotique avec toutes les astuces qui vont biens.

commentaires