Input_number & volume_level

Bonjour,

C’est encore moi et oui!
Rien n’est simple avec HA…

Je bloque à présent sur une automatisation, en effet je souhaiterai appliqué un volume_level à mes sonos lors de la modification d’un input_number et appliquer la consigne de l’input_number au volume_level mais impossible j’ai une erreur lors de l’execution de l’automatisation…

Le scénario:

alias: Volume Séjour
description: ""
trigger:
  - platform: state
    entity_id:
      - input_number.volume_sonos_sejour
condition: []
action:
  - service: media_player.volume_set
    target:
      device_id:
        - 6e52f5b0cf3ca6656d774a74cfda0
        - e330fbc6ff46d194de3fe862a9b8e
    data:
      volume_level: "{{ value('input_number.volume_sonos_sejour') | float }}"
mode: single

J’ai tenté plusieurs synthaxe pour la valeur mais j’obtient toujours une erreur d’éxécution:

Erreur : Error rendering data template: UndefinedError: 'value' is undefined

#Ou parfois suivant la synthaxe testé

Erreur : Expected float for dictionary value @ data['volume_level']

Et pourtant dans les outils de dév la valeur renvoyé par mes infos sont bonne:

Merci d’avance

Bonjour,
Je mettrai plutôt states que value.
Bob

Bonjour, essaie ça :

volume_level: "{{ states('input_number.volume_sonos_sejour') | float(0) }}"

Bonjour,
voici la syntaxe:

service: media_player.volume_set
target:
  entity_id: media_player.nest_mini
data:
  volume_level: >
    {{ states('input_number.volume_nest_ini') |float(0) }}
1 « J'aime »

Merci.

Mais ou peut -on trouvé ce genre d’information (histoire que je ne créer pas un post à charque soucis non résolu)?

La doc HA est imbuvable quand on y connais rien comme moi.

Cdlt

@Alkynao,
Au fil des lectures sur le forum, il y a souvent des liens très précis vers de la documentation, pour les templates aussi, j’en prends souvent que je teste dans les outils de DEV, je sauvegarde cela dans un fichier à part, pour ne pas oublier :rofl:
C’est un bonheur la doc HA :slight_smile:

Bob

2 « J'aime »

Pour quelqu’un qui a les bases ok.

Perso sauf par accident je ne vois pas comment je peux trouer la réponse à ce problème précis, donc faire d’un input_number une valeur lors de l’appel d’un service…

Je ne vois pas le lien entre le « service », « input_number » et la doc sur les « Template »…

Tu peux demander à chatGPT de corriger ton code :

la question :

corriger la syntaxe : volume_level: "{{ value('input_number.volume_sonos_sejour') | float }}"

1 « J'aime »

C’est fini |float, c’est |float(0) ou |float(default=0) maintenant. Sinon tu auras une erreur dans les logs.
Donc ChatGPT à utiliser avec modération :sweat_smile:

Ca permet de dégrossir en tous cas.

1 « J'aime »