Modifier valeur call service basée sur un input number

Bonjour,

Débutant dans HA, je butte sur un problème qui me semble basique. J’ai un input number qui me permet de définir une température « eco » identique dans toutes mes chambres. Dans une carte pilotant mes radiateurs (une carte par chambre), je cherche à avoir un bouton qui modifie la consigne de la chambre en fonction de cette consigne « eco ».

Quand la valeur est écrite en dur (17 dans l’exemple ci-dessous), cela fonctionne. Mais dès que j’essaye d’intégrer la variable issue de mon input number (input_number.chauffage_etage_consigne_presence), j’ai un message d’erreur « Echec d’appel du service input_number/set_value. expected float for dictionary value @ data[‹ value ›] ».

Je pense que c’est un problème de syntaxe. Avez-vous la bonne syntaxe ?

Fonctionne

- type: button
    tap_action:
      action: call-service
      service: input_number.set_value
      service_data:
        value: 17
      target:
        entity_id: input_number.chauffage_parents_consigne
    show_icon: false
    name: Nuit

Ne fonctionne pas

- type: button
    tap_action:
      action: call-service
      service: input_number.set_value
      service_data:
        value: input_number.chauffage_etage_consigne_presence
      target:
        entity_id: input_number.chauffage_parents_consigne
    show_icon: false
    name: Nuit

essaie

- type: button
    tap_action:
      action: call-service
      service: input_number.set_value
      service_data:
        value: {{ states('input_number.chauffage_etage_consigne_presence') | float(0) }}
      target:
        entity_id: input_number.chauffage_parents_consigne
    show_icon: false
    name: Nuit

Même message d’erreur.

J’ai fait un peu de recherche…normalement on ne peux pas utiliser des template dans lovelace. Il y a une solution card-template…mais pour tap-action ça ne marche pas non plus :frowning:

gadgetchnnel/lovelace-card-templater: Custom Lovelace card which allows Jinja2 templates to be applied to other cards (github.com)

EDIT: la solution est probable de déclencher une automatisation qui fait pareil

Ou le custom:button-card: gadgetchnnel/lovelace-card-templater: Custom Lovelace card which allows Jinja2 templates to be applied to other cards (github.com)

Salut @Guilhem_Ferrier

@vingerha t’as mis sur la piste tu peux faire ça avec button-card dispo sur HACS.

Avec ce genre de code ça fonctionnera :

type: custom:button-card
name: test set input_number
icon: mdi:button-pointer
tap_action:
  action: call-service
  service: input_number.set_value
  service_data:
    entity_id: input_number.chauffage_parents_consigne
    value: |
      [[[
        return states['input_number.chauffage_etage_consigne_presence'].state;
      ]]]
1 « J'aime »

merci…en ajoutant que les [[[ et ]]] sont liés avec la carte être en javascript

Super ! Ca marche nickel. Merci