Calculer la valeur d'un template number

Bonjour,

J’essaye de réguler la charge de mon VE en fonction de ma production solaire.
J’aimerais commencer par calculer le réglage d’intensité à adopter.

J’utilise pour cela un template , mais qui retourne un résultat inconnu.

Pourriez vous m’aider à savoir ce que je fais de travers svp ?

 alias: Recharge solaire selon disponibilite
 target:
 entity_id: number.intensite_de_charge_a_choisir
 data:
 value: >-
 {% set calculated_value = (states(‹ sensor.surplus_soolaire_reel ›) | float(0) - 300) /230 %}


 {% if calculated_value is not none %}
   {% if calculated_value < 6 %}
     {{6|int}}
   {% elif calculated_value < 7 %}
     {{6|int}}
   {% else %}
     {{6|int}}
   {% endif %}
 {% else %}
   {{6|int}} # Fallback value if calculation fails, set to 6A
 {% endif %}


 action: input_number.set_value
 enabled: true

Bonjour,
Édite ton sujet et corrige ton code en mettant bien le code dans une balise texte préformaté image.

Ton code est un template, une automatisation ou un script ?
C’est pas clair.

Merci, est-ce ok pour les balises ?

Pour répondre à ta question, c’est en fait là dessus que je me perds, c’est copié d’un autre forum :

https://community.home-assistant.io/t/turn-your-tuya-ev-charger-dynamic-load-balancing-or-solar-controlled/854072/13

Oui.

C’est un script d’après ton lien. Donc tu as créé un script ?

Non, j’ai créé une entrée Template.

Si je mets ce code dans un script, je ne peux le valider, j’ai le message d’erreur : Message malformed: extra keys not allowed @ data[‹ target ›]

Je pense avoir corrigé une partie, j’ai mis cela dans un script :

action: number.set_value
metadata: {}
target:
  entity_id: input_number.intensite_de_charge_a_choisir
data:
  value: >-
    {% set calculated_value = (states(sensor.surplus_solaire_reel) | float(0) -
    300) /230 %}


    {% if calculated_value is not none %}
      {% if calculated_value < 6 %}
        {{6|int}}
      {% elif calculated_value < 7 %}
        {{6|int}}
      {% else %}
        {{6|int}}
      {% endif %}
    {% else %}
      {{6|int}} # Fallback value if calculation fails, set to 6A
    {% endif %}

Mais lorsque je l’execute, j’ai maintenant l’erreur : Error rendering data template: UndefinedError: ‹ sensor › is undefined

Pourtant le sensor sensor.surplus_solaire_reel renvoie bien une valeur dans la liste des entrées

Ce capteur est calculé avec une template

Il faut des ’ qui entourent ton sensor => states('sensor.surplus_solaire_reel')

Merci, ça s’exécute mais mon input number ne change pas de valeur

Edit

L’action n’était pas bonne, il fallait choisir input_number.set_value et non pas number.set_value

Ça fonctionne maintenant

Merci à tous

Pense à mettre ton sujet en résolu, en cochant la case solution.