Passage de paramètres avec les scripts

Mon problème

Bonjour à tous.

Je souhaite utiliser les scripts HA en utilisant des variables passées en arguments.
Pour la partie passage d’arguments, j’ai consulté la documentation HA et j’y arrive bien.
Le problème, c’est que les paramètres récupérés dans le script sont inutilisables et semblent inconnus.

Ci dessous l’automatisation de test qui appelle mon script en passant la variable « mavar » que je souhaite être de type booléen:

alias: Test script
description: ""
trigger:
  - platform: state
    entity_id:
      - input_button.test
condition: []
action:
  - service: script.vmchauffage
    data:
      mavar: true
mode: single

Par la suite, je m’attends donc à récupérer mon booléen dans le script appelé.
Dans un premier temps j’ai créé un script tout simple qui affiche la valeur de mon booléen dans une notification:

alias: VMChauffage
sequence:
  - service: notify.mobile_app_sm_g9750
    data:
      message: "{{ mavar }}"
mode: single

Jusqu’ici, tout va bien, le passage de paramètres s’est bien déroulé:

Par contre, quand j’essaie d’utiliser le booléen récupéré pour tester une condition, ça ne fonctionne pas:

alias: VMChauffage
sequence:
  - if:
      - condition: state
        entity_id: mavar
        state: True
    then:
      - service: light.turn_on
        data: {}
        target:
          entity_id: light.ruban_light
    else:
      - service: light.turn_off
        data: {}
        target:
          entity_id: light.ruban_light
mode: single

L’éditeur me parle de « malformed message ». Un peu comme si l’argument « mavar » était inconnu.

Quelle est la bonne façon d’utiliser le arguments dans les scripts?

Ma configuration


Texte à remplacer par votre configuration

System Information

version core-2023.4.1
installation_type Home Assistant OS
dev false
hassio true
docker true
user root
virtualenv false
python_version 3.10.10
os_name Linux
os_version 5.15.84-v8
arch aarch64
timezone Europe/Paris
config_dir /config
Home Assistant Community Store
GitHub API ok
GitHub Content ok
GitHub Web ok
GitHub API Calls Remaining 5000
Installed Version 1.28.4
Stage running
Available Repositories 1256
Downloaded Repositories 3
Home Assistant Cloud
logged_in false
can_reach_cert_server ok
can_reach_cloud_auth ok
can_reach_cloud ok
Home Assistant Supervisor
host_os Home Assistant OS 9.5
update_channel stable
supervisor_version supervisor-2023.04.0
agent_version 1.4.1
docker_version 20.10.22
disk_total 13.9 GB
disk_used 5.1 GB
healthy failed to load: Unhealthy
supported true
board rpi3-64
supervisor_api ok
version_api ok
installed_addons Terminal & SSH (9.6.1), File editor (5.5.0)
Dashboards
dashboards 6
resources 1
views 7
mode storage
Recorder
oldest_recorder_run 6 avril 2023 à 18:02
current_recorder_run 8 avril 2023 à 22:41
estimated_db_size 59.45 MiB
database_engine sqlite
database_version 3.38.5
___

Salut
Alors soit il est tard et j’ai absolument pas compris comment ça fonctionne soit il n’y a pas de paramètres là dedans…
entity_id: ça ne me semble pas être un paramètre mais bel et bien une entité

Bien vu.

Merci @Pulpy-Luke

Si je remplace

entity_id

par

value_template

Ca fonctionne. Ci-dessous, le code modifié:

alias: VMChauffage
sequence:
  - if:
      - condition: template
        value_template: "{{ mavar }}"
    then:
      - service: light.turn_on
        data: {}
        target:
          entity_id: light.ruban_light
    else:
      - service: light.turn_off
        data: {}
        target:
          entity_id: light.ruban_light
mode: single