# Mémorisation de la valeur d'un sensor dans un input\_number

**URL:** <https://forum.hacf.fr/t/memorisation-de-la-valeur-dun-sensor-dans-un-input-number/3993>\
**Category:** Entraide Home Assistant\
**Created:** [Avril 4, 2021, 11:01 UTC](https://forum.hacf.fr/t/memorisation-de-la-valeur-dun-sensor-dans-un-input-number/3993 "2021-04-04T23:01:36Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![Argonaute](https://forum.hacf.fr/user_avatar/forum.hacf.fr/argonaute/32/4951_2.png) [@Argonaute](https://forum.hacf.fr/u/Argonaute)\
**Post date:** [Avril 4, 2021, 11:01 UTC](https://forum.hacf.fr/t/memorisation-de-la-valeur-dun-sensor-dans-un-input-number/3993/1 "2021-04-04T23:01:36Z")

</div>

Bonjour,  
Dans le cadre d’une automatisation plus complexe, je souhaite juste recopier la valeur d’un sensor dans un input\_text quand la valeur du sensor change.  
J’ai écrit l’automatisation de test suivante via le GUI, pourtant très basique, mais elle ne fonctionne pas :

```auto
alias: 'IPX800 : calcul conso'
description: ''
mode: single
trigger:
  - platform: state
    entity_id: sensor.compteur
action:
  - service: input_number.set_value
    data:
      value: {{states('sensor.compteur')|float}}
    target:
      entity_id: input_number.memo_compteur

```

J’ai toujours une erreur du type :

```auto
Error while executing automation automation.calcul_conso: expected float for dictionary value @ data['value']

```

J’ai bien testé mon template {{states(‹&nbsp;sensor.compteur&nbsp;›)|float}} dans l’outils de développement et il fonctionne.  
Je n’ai pas vu de data\_template qui serait à mettre à la place de data dans la doc.

Auriez vous une idée ?  
Merci.

---

<div class="post-metadata">

**Author:** ![Clemalex](https://forum.hacf.fr/user_avatar/forum.hacf.fr/clemalex/32/3691_2.png) [@Clemalex](https://forum.hacf.fr/u/Clemalex)\
**Post date:** [Avril 5, 2021, 8:04 UTC](https://forum.hacf.fr/t/memorisation-de-la-valeur-dun-sensor-dans-un-input-number/3993/2 "2021-04-05T08:04:36Z")

</div>

Essaie d’ajouter des guillemets :

```yaml
value: "{{states('sensor.compteur')|float}}"

```

Et je suis pas sûr de la nécessité de convertir en float,essaie de l’enlever si la première ne suffit pas.

---

<div class="post-metadata">

**Author:** ![Argonaute](https://forum.hacf.fr/user_avatar/forum.hacf.fr/argonaute/32/4951_2.png) [@Argonaute](https://forum.hacf.fr/u/Argonaute)\
**Post date:** [Avril 5, 2021, 11:55 UTC](https://forum.hacf.fr/t/memorisation-de-la-valeur-dun-sensor-dans-un-input-number/3993/3 "2021-04-05T11:55:55Z")

</div>

Mon dieu, oui, j’ai oublié les quotes et je passais systématiquement à côté !! Un grand merci @Clemalex. Je reste très impressionné par ta capacité à aider tout le monde avec tant de pertinence.

Home Assistant a beaucoup de bon côtés, mais je trouve que toutes ces syntaxes mélangeant YAML - template Jinja2 et javascript sont très lourdes, souvent peu homogènes et exotiques. L’UI des automations n’est pas terrible. Je persévère à utiliser les automations plutôt que nodered sauf pour traiter des flux complexes. Mais je vais regarder de près ce qu’on peut faire avec l’intégration «&nbsp;python script&nbsp;», et surtout pyscript avec ses decorators permettant de spécifier les triggers des automations. Certes question de culture. Mais la syntaxe est plus élégante et colle aux pratiques usuelles du développement, ce avec le langage le plus utilisé au monde.

---

<div class="post-metadata">

**Author:** ![Clemalex](https://forum.hacf.fr/user_avatar/forum.hacf.fr/clemalex/32/3691_2.png) [@Clemalex](https://forum.hacf.fr/u/Clemalex)\
**Post date:** [Avril 5, 2021, 1:06 UTC](https://forum.hacf.fr/t/memorisation-de-la-valeur-dun-sensor-dans-un-input-number/3993/4 "2021-04-05T13:06:57Z")

</div>

> [@Argonaute](#):
>
> Je reste très impressionné par ta capacité à aider tout le monde avec tant de pertinence.

:hacf:  
❤

> [@Argonaute](#):
>
> je vais regarder de près ce qu’on peut faire avec l’intégration « python script »

tu as quelques exemples sur le forum ([Installer la carte Météo France - #46 par Clemalex](https://forum.hacf.fr/t/installer-la-carte-meteo-france/979/46), [✅ Carte Timer](https://forum.hacf.fr/t/carte-timer/725), [Résultats de recherche pour «&nbsp;python\_script&nbsp;» - Home Assistant Communauté Francophone](https://forum.hacf.fr/search?q=python_script)) mais qui ne sont pas représentatif de la puissance de l'intégration mais permettent de les introduires **en douceur**.

> [@Argonaute](#):
>
> pyscript

Pas eu la nécessité encore de l'utiliser, mais je n'en ai lu que du bien 👍

> [@Argonaute](#):
>
> mais je trouve que toutes ces syntaxes mélangeant YAML - template Jinja2 et javascript sont très lourdes,

En fait, de base, le produit ne comprends que du JINJA2 pour la partie code et du YAML pour la partie configuration.  
Mais si on veux faire des choses plus poussées que ce que nous permet HA nativement, on ajoutes des scripts JAVASCRIPT qui veulent qu'on leur parle en ... javascript.

Tu n'es pas le seul et même moi encore j'ai des doute, mais le doute existe simplement par le fait que certains développeurs de plugins essayent de tout transcrire en YAML pour justement n'avoir pas à jongler entre les langages, mais cela prends du temps et ce n'est pas toujours possible...

En tout cas, ravi d'avoir pu aider 👍

---

<div class="post-metadata">

**Author:** ![Argonaute](https://forum.hacf.fr/user_avatar/forum.hacf.fr/argonaute/32/4951_2.png) [@Argonaute](https://forum.hacf.fr/u/Argonaute)\
**Post date:** [Avril 5, 2021, 5:05 UTC](https://forum.hacf.fr/t/memorisation-de-la-valeur-dun-sensor-dans-un-input-number/3993/5 "2021-04-05T17:05:17Z")

</div>

Très intéressant tes retours, merci. Je vais essayer pyscript mais le problème serait d’être isolé (peu de partages) et de ne pas être standard avec HA. Ce n’est jamais très bon et me fait hésiter.

Je viens seulement de comprendre pourquoi je passais toujours à côté de la bonne syntaxe avec les quotes.  
Ce type de syntaxe, que j’avais vu, marche aussi, et sans les quotes cette fois. En mettant «&nbsp;\>-&nbsp;» pour aller à la ligne, il n’y a ensuite plus besoin des quotes.

```auto
service: input_number.set_value
data:
  value: >-
    {{states('sensor.ipx800_compteur_electrique')|float}}
target:
  entity_id: input_number.ipx800_compteur_electrique_1

```

Je découvre doucement. Mais tout cela n’est pas toujours très intuitif…

---

<div class="post-metadata">

**Author:** ![Pierrem31](https://forum.hacf.fr/user_avatar/forum.hacf.fr/pierrem31/32/4922_2.png) [@Pierrem31](https://forum.hacf.fr/u/Pierrem31)\
**Post date:** [Avril 5, 2021, 7:09 UTC](https://forum.hacf.fr/t/memorisation-de-la-valeur-dun-sensor-dans-un-input-number/3993/6 "2021-04-05T19:09:47Z")

</div>

Bonjour,

Et avec NodeRed ?

Perso je n’ai pas assez d’expérience pour juger, mais j’apprécie NodeRed pour son coté graphique et «&nbsp;organisé&nbsp;»

Bon, j’ai encore du boulot avant de maitriser !

---

<div class="post-metadata">

**Author:** ![Argonaute](https://forum.hacf.fr/user_avatar/forum.hacf.fr/argonaute/32/4951_2.png) [@Argonaute](https://forum.hacf.fr/u/Argonaute)\
**Post date:** [Avril 5, 2021, 8:39 UTC](https://forum.hacf.fr/t/memorisation-de-la-valeur-dun-sensor-dans-un-input-number/3993/7 "2021-04-05T20:39:03Z")

</div>

Bonne remarque. «&nbsp;Node-Red versus Automation&nbsp;» ferait l’objet d’un sujet à part entière. Je te donne quand même mon avis ici, qui n’engage que moi, suite à mes quelques mois d’expérience HA.

Node-Red est orienté No code (ou Low Code) et offre d’énormes possibilités, en particulier pour des flux complexes. La mise au point est facile. L’intégration HA est bien faite. Enfin effectivement la représentation graphique permet d’appréhender la logique de flux complexes. Il est relativement facile d’entrer dans Node-Red. Enfin, il est générique et utilisable ailleurs que dans HA.

Automation est plus difficile à appréhender si on sort de ce que propose l’UI. Moins de possibilités que NodeRed. L’interface graphique a des lacunes et n’est pas très sexy. Syntaxe YAML JINJA2 pas intuitive et demandant un investissement.  
MAIS quand on maîtrise la syntaxe, il est possible de rapidement créer ses règles de type trigger-condition-actions (soit 90% des cas) en souvent une dizaine de lignes. Le YAML permet l’échange et les sources restent très succincts, lisibles et modifiables rapidement (contre ouverture-fermeture des noeuds avec pleins d’options dans node red). Les développeurs apprécieront pour GIT. Les blue print permettent de mutualiser du code. Automation est probablement plus léger en ressource que Node-red. Enfin une entité est créée permettant d’activer/désactiver simplement une automation dans Lovelace ou via un service (plus pénible dans Node-Red).  
Et pour conclure, j’ai la conviction que les automations vont évoluer vite.

Donc pour moi je persévère sur automation pour les règles type trigger-condition-actions.  
J’utilise NodeRed uniquement pour les flux complexes (à cause logique ou contenu du flux), ou quand les noeuds proposés permettent de faire des choses difficiles à faire ailleurs.  
En parallèle, de par ma culture d’informaticien, je regarde comment utiliser python.

Chacun pourra faire pencher d’un côté ou de l’autre la balance en fonction de sa culture ou ses attentes.

---

<div class="post-metadata">

**Author:** ![Clemalex](https://forum.hacf.fr/user_avatar/forum.hacf.fr/clemalex/32/3691_2.png) [@Clemalex](https://forum.hacf.fr/u/Clemalex)\
**Post date:** [Avril 6, 2021, 5:27 UTC](https://forum.hacf.fr/t/memorisation-de-la-valeur-dun-sensor-dans-un-input-number/3993/8 "2021-04-06T17:27:16Z")

</div>

> [@Argonaute](#):
>
> Ce type de syntaxe, que j’avais vu, marche aussi, et sans les quotes cette fois. En mettant « \>- » pour aller à la ligne, il n’y a ensuite plus besoin des quotes.

D’autre exemple en fin de ce post 👍

> [@Automatisation avec input\_number.cover](https://forum.hacf.fr/t/automatisation-avec-input-number-cover/1320/17):
>
> @Nyco : En lisant la [documentation du delay](https://www.home-assistant.io/docs/scripts/#delay), on s’aperçoit qu’il y a plusieurs façon de l’utiliser : Seulement un nombre représentant des secondes (donc on peut utiliser un input\_number) # Seconds # Waits 5 seconds - delay: 5 est équivalent à : #Déclaration de l'entité # Example configuration.yaml entry input\_number: temporisation: name: "Temporisation modifiable dans Lovelace et par automatisations/scripts" min: 0 max: 60 step: 1 #Utilisation de l'entité pour l'ac…
