# Comment passer un input number en paramètre dans un appel service?

**URL:** <https://forum.hacf.fr/t/comment-passer-un-input-number-en-parametre-dans-un-appel-service/10649>\
**Category:** Entraide Home Assistant\
**Tags:** automatisation-automation\
**Created:** [Avril 11, 2022, 4:46 UTC](https://forum.hacf.fr/t/comment-passer-un-input-number-en-parametre-dans-un-appel-service/10649 "2022-04-11T16:46:58Z")\
**Posts on this page:** 15\
**Page:** 1

<div class="post-metadata">

**Author:** ![phil](https://forum.hacf.fr/user_avatar/forum.hacf.fr/phil/32/4341_2.png) [@phil](https://forum.hacf.fr/u/phil)\
**Post date:** [Avril 11, 2022, 4:46 UTC](https://forum.hacf.fr/t/comment-passer-un-input-number-en-parametre-dans-un-appel-service/10649/1 "2022-04-11T16:46:58Z")

</div>

## Mon problème

Bonjour,  
je viens de faire l’acquisition d’un module d’arrosage connecté compatible home assistant. J’avoue être déjà assez bluffé par les capacités de ce module via l’application propriétaire mais je souhaite me faire plaisir en le paramétrant dans HA et cerise sur le gâteau, cela me permet de m’améliorer. Mon niveau n’étant pas très élevé, je cherche à passer un input\_number en paramètre dans le champ «&nbsp;minutes&nbsp;» mais je bugg (**défaut de connaissance des templates)** malgré mes recherches 😭  
la syntaxe du service est la suivante:

```auto
service: bhyve.start_watering
data:
  entity_id: switch.backyard_zone
  minutes: 15

```

J’ai crée l’automatisation suivante:

```auto
alias: test arrosage manuel
description: 'lance arrosage manuel si input arrosage_personnalisé activé et selon la durée définie dans le input duree_test'
trigger:
  - platform: state
    entity_id: switch.zone
    to: 'on'
condition:
  - condition: state
    entity_id: input_boolean.arrosage_personnalise
    state: 'on'
action:
  - service: bhyve.start_watering
    data:
      entity_id: switch.zone
      minutes: {{ (states('input_number.duree_test') }}
        
mode: single

```

dans le mode développeur lorsque je teste le service j’obteins le message d’erreur suivant:

```auto
échec d'appel du service "bhyve.start_watering". expected int for dictionary value @ data['minutes']. Got None

```

Je crois comprendre que la valeur «&nbsp;minutes&nbsp;» attend un entier…  
Merci de votre aide.

```auto

## Ma configuration
___
## System Health

version | core-2022.4.2
-- | --
installation_type | Home Assistant OS
dev | false
hassio | true
docker | true
user | root
virtualenv | false
python_version | 3.9.9
os_name | Linux
os_version | 5.10.103-v8
arch | aarch64
timezone | Europe/Paris

<details><summary>Home Assistant Community Store</summary>

GitHub API | ok
-- | --
GitHub Content | ok
GitHub Web | ok
GitHub API Calls Remaining | 5000
Installed Version | 1.24.4
Stage | running
Available Repositories | 1034
Downloaded Repositories | 50

</details>

<details><summary>Home Assistant Cloud</summary>

logged_in | false
-- | --
can_reach_cert_server | ok
can_reach_cloud_auth | ok
can_reach_cloud | ok

</details>

<details><summary>Home Assistant Supervisor</summary>

host_os | Home Assistant OS 7.6
-- | --
update_channel | stable
supervisor_version | supervisor-2022.03.5
docker_version | 20.10.9
disk_total | 109.3 GB
disk_used | 11.6 GB
healthy | true
supported | true
board | rpi4-64
supervisor_api | ok
version_api | ok
installed_addons | File editor (5.3.3), Duck DNS (1.14.0), InfluxDB (4.4.1), Grafana (7.5.2), motionEye (0.11.0), Node-RED (9.1.3), Terminal & SSH (9.3.0), Mosquitto broker (6.0.1), Samba share (9.5.1), deCONZ (6.12.0), Visual Studio Code (3.4.1), Enedisgateway2mqtt (0.7.7-3)

</details>

<details><summary>Dashboards</summary>

dashboards | 3
-- | --
resources | 38
views | 18
mode | storage

</details>

<details><summary>MercedesME 2020</summary>

websocket_connection_state | connected
-- | --
api_endpoint_reachable | ok

</details>
___
```

---

<div class="post-metadata">

**Author:** ![AlexHass](https://forum.hacf.fr/user_avatar/forum.hacf.fr/alexhass/32/11197_2.png) [@AlexHass](https://forum.hacf.fr/u/AlexHass)\
**Post date:** [Avril 11, 2022, 5:06 UTC](https://forum.hacf.fr/t/comment-passer-un-input-number-en-parametre-dans-un-appel-service/10649/2 "2022-04-11T17:06:18Z")

</div>

Salut,

tu peux caster en int, ça devrait marcher.

```auto
{{ states("input_number.duree_test") | int }}

```

---

<div class="post-metadata">

**Author:** ![phil](https://forum.hacf.fr/user_avatar/forum.hacf.fr/phil/32/4341_2.png) [@phil](https://forum.hacf.fr/u/phil)\
**Post date:** [Avril 11, 2022, 5:24 UTC](https://forum.hacf.fr/t/comment-passer-un-input-number-en-parametre-dans-un-appel-service/10649/3 "2022-04-11T17:24:13Z")

</div>

Merci mais cela ne marche pas…toujours le même message d’erreur.🙄

---

<div class="post-metadata">

**Author:** ![Plouf34](https://forum.hacf.fr/user_avatar/forum.hacf.fr/plouf34/32/76822_2.png) [@Plouf34](https://forum.hacf.fr/u/Plouf34)\
**Post date:** [Avril 11, 2022, 7:40 UTC](https://forum.hacf.fr/t/comment-passer-un-input-number-en-parametre-dans-un-appel-service/10649/4 "2022-04-11T19:40:19Z")

</div>

C quoi comme module sans indiscrétion? J’ai du rainbird, et c peu intégrable à HA.

---

<div class="post-metadata">

**Author:** ![AlexHass](https://forum.hacf.fr/user_avatar/forum.hacf.fr/alexhass/32/11197_2.png) [@AlexHass](https://forum.hacf.fr/u/AlexHass)\
**Post date:** [Avril 11, 2022, 7:59 UTC](https://forum.hacf.fr/t/comment-passer-un-input-number-en-parametre-dans-un-appel-service/10649/5 "2022-04-11T19:59:12Z")

</div>

> [@phil](#):
>
> toujours le même message d’erreur.

En fait là j’avais pas vu la fin de ton message!!

```auto
expected int for dictionary value @ data['minutes']. Got None

```

Le «&nbsp;got none&nbsp;» c’est pas normal. Ca veut dire que ton état ne passe pas bien là.  
Normalement un état de base en une chaine de caractères donc type Str.

T’es certain que cette valeur est initialisée?  
Tu peux vérifier dans Outils de développement \> Modèles  
Dans la zone de text met ça:

```auto
{{ (states('input_number.duree_test') }}

```

Et regarde si à droite tu vois bien ta valeur.

---

<div class="post-metadata">

**Author:** ![phil](https://forum.hacf.fr/user_avatar/forum.hacf.fr/phil/32/4341_2.png) [@phil](https://forum.hacf.fr/u/phil)\
**Post date:** [Avril 12, 2022, 8:12 UTC](https://forum.hacf.fr/t/comment-passer-un-input-number-en-parametre-dans-un-appel-service/10649/6 "2022-04-12T08:12:51Z")

</div>

Je viens de tester. les accolades étaient de trop (message d'erreur) et en les enlevant j'obtiens désormais ce message:  
 ![]()

 ![image](https://forum.hacf.fr/uploads/default/original/2X/8/868667d733b112c856e8c2d7aebc670d80192224.png)  
Du coup je ne sais pas trop quoi en faire. merci de ton aide

---

<div class="post-metadata">

**Author:** ![phil](https://forum.hacf.fr/user_avatar/forum.hacf.fr/phil/32/4341_2.png) [@phil](https://forum.hacf.fr/u/phil)\
**Post date:** [Avril 12, 2022, 8:13 UTC](https://forum.hacf.fr/t/comment-passer-un-input-number-en-parametre-dans-un-appel-service/10649/7 "2022-04-12T08:13:26Z")

</div>

c’est du b-hyve, module américain.

---

<div class="post-metadata">

**Author:** ![Pulpy-Luke](https://forum.hacf.fr/user_avatar/forum.hacf.fr/pulpy-luke/32/137426_2.png) [@Pulpy-Luke](https://forum.hacf.fr/u/Pulpy-Luke)\
**Post date:** [Avril 12, 2022, 8:39 UTC](https://forum.hacf.fr/t/comment-passer-un-input-number-en-parametre-dans-un-appel-service/10649/8 "2022-04-12T08:39:01Z")

</div>

> [@phil](#):
>
> Du coup je ne sais pas trop quoi en faire. merci de ton aide

Salut  
Remets les accolades: 2 paires, elles sont pas là juste pour la décoration…  
Dans l’exemple de @AlexHass c’est la première parenthèse ouvrante qui est en trop

---

<div class="post-metadata">

**Author:** ![AlexHass](https://forum.hacf.fr/user_avatar/forum.hacf.fr/alexhass/32/11197_2.png) [@AlexHass](https://forum.hacf.fr/u/AlexHass)\
**Post date:** [Avril 12, 2022, 10:13 UTC](https://forum.hacf.fr/t/comment-passer-un-input-number-en-parametre-dans-un-appel-service/10649/9 "2022-04-12T10:13:33Z")

</div>

Oups, souci de copier/coller 😵‍💫

---

<div class="post-metadata">

**Author:** ![Plouf34](https://forum.hacf.fr/user_avatar/forum.hacf.fr/plouf34/32/76822_2.png) [@Plouf34](https://forum.hacf.fr/u/Plouf34)\
**Post date:** [Avril 12, 2022, 10:50 UTC](https://forum.hacf.fr/t/comment-passer-un-input-number-en-parametre-dans-un-appel-service/10649/10 "2022-04-12T10:50:25Z")

</div>

> [@phil](#):
>
> b-hyve

Merci; Quel Model pour combien de zone/eletrovanne?

---

<div class="post-metadata">

**Author:** ![phil](https://forum.hacf.fr/user_avatar/forum.hacf.fr/phil/32/4341_2.png) [@phil](https://forum.hacf.fr/u/phil)\
**Post date:** [Avril 12, 2022, 12:48 UTC](https://forum.hacf.fr/t/comment-passer-un-input-number-en-parametre-dans-un-appel-service/10649/11 "2022-04-12T12:48:58Z")

</div>

Salut,  
modèle smart wifi hose tap timer 94990 pour une seule zone.

 ![image](https://forum.hacf.fr/uploads/default/original/2X/0/0dbd9794dd411d42427b060bbac84f20e1a0103f.jpeg)  
J'espère avoir répondu à tes attentes

---

<div class="post-metadata">

**Author:** ![phil](https://forum.hacf.fr/user_avatar/forum.hacf.fr/phil/32/4341_2.png) [@phil](https://forum.hacf.fr/u/phil)\
**Post date:** [Avril 12, 2022, 1:00 UTC](https://forum.hacf.fr/t/comment-passer-un-input-number-en-parametre-dans-un-appel-service/10649/12 "2022-04-12T13:00:20Z")

</div>

Merci @Pulpy-Luke , le code fonctionne en effet pour la partie dev/modèle. Le input\_number.duree\_test change bien de valeur. Cependant dans mon automatisme, la valeur «&nbsp;minute&nbsp;» ne veut pas prendre la valeur de l’input ??

```auto
alias: test arrosage manuel
description: ''
trigger:
  - platform: state
    entity_id: input_boolean.arrosage_personnalise
    to: 'on'
action:
  - service: bhyve.start_watering
    data:
      entity_id: switch.zone
      minutes:
        '[object Object]': null
mode: single

```

Je pense que cela vient de mon code qui ne doit pas respecter la doc ici: [GitHub - sebr/bhyve-home-assistant: Orbit BHyve custom component for Home Assistant](https://github.com/sebr/bhyve-home-assistant)

---

<div class="post-metadata">

**Author:** ![phil](https://forum.hacf.fr/user_avatar/forum.hacf.fr/phil/32/4341_2.png) [@phil](https://forum.hacf.fr/u/phil)\
**Post date:** [Avril 12, 2022, 2:10 UTC](https://forum.hacf.fr/t/comment-passer-un-input-number-en-parametre-dans-un-appel-service/10649/13 "2022-04-12T14:10:23Z")

</div>

je réponds à moi même et je remercie @Pulpy-Luke et @AlexHass …  
En fait après de multiples tests, il fallait tout simplement ajouter des guillemets comme ci dessous:

```auto
alias: test arrosage manuel
description: ''
trigger:
  - platform: state
    entity_id: input_boolean.arrosage_personnalise
    to: 'on'
action:
  - service: bhyve.start_watering
    data:
      entity_id: switch.zone
      minutes: "{{ states('input_number.duree_zone_jardin') }}"
        
mode: single

```

et là tout fonctionne… quelqu’un a t il de la doc pour travailler la syntaxe? c’est quoi ce langage?

---

<div class="post-metadata">

**Author:** ![Pulpy-Luke](https://forum.hacf.fr/user_avatar/forum.hacf.fr/pulpy-luke/32/137426_2.png) [@Pulpy-Luke](https://forum.hacf.fr/u/Pulpy-Luke)\
**Post date:** [Avril 12, 2022, 3:09 UTC](https://forum.hacf.fr/t/comment-passer-un-input-number-en-parametre-dans-un-appel-service/10649/14 "2022-04-12T15:09:40Z")

</div>

Bonne nouvelle.  
Pour la syntaxe, regarde le Jinja2

---

<div class="post-metadata">

**Author:** ![AlexHass](https://forum.hacf.fr/user_avatar/forum.hacf.fr/alexhass/32/11197_2.png) [@AlexHass](https://forum.hacf.fr/u/AlexHass)\
**Post date:** [Avril 12, 2022, 5:12 UTC](https://forum.hacf.fr/t/comment-passer-un-input-number-en-parametre-dans-un-appel-service/10649/15 "2022-04-12T17:12:08Z")

</div>

🤣 Mdr en fait c’était bon depuis le début, juste la parenthèse

Jinja2 ca ressemble à beaucoup d’autres scripts, c’est juste là l’utilisation des curly brackets {{…}} et {%…%} qui peut désorienter.
