Passage d'une variable entre une automatisation et une commande shell

Bonjour,

J’ai un problème qui semble simple, compliqué pour moi.

Dans une automatisation je passe une variable pour une écriture à réaliser dans un fichier.

  1. dans l’automatisation,

action:
  - service: shell_command.add_simple_text_to_file
    data:
      texte_a_ajouter: Contenu de votre variable passe par parametre
  1. la commande shell dans configuration.yaml,

shell_command:
  add_simple_text_to_file: 'echo "contenu = {{ texte_a_ajouter }}" >> /media/reverseproxy_share/files/testzz.txt'

Bref il y a un truc qui m’échappe dans ce passage de paramètre car rien ne veut s’écrire alors que ça marche bien avec juste du texte en dur, comme ceci,


add_simple_text_to_file: 'echo "contenu = zzzzzz" >> /media/reverseproxy_share/files/testzz.txt'

Une idée peut-être de mon erreur ? D’avance merci.

Denis

J’utilise quelque chose de similaire dans une de mes automation. Sans être sûr de pouvoir t’apporter LA solution je pense avoir une piste ^^

Perso j’ai une commande dans laquelle je dois insérer une variable qui ressemble a ceci:

shell_command:
  OSX_set_volume: ssh -i /ssl/ssh_host_ecdsa_key -o UserKnownHostsFile=/ssl/known_hosts_osx user@192.168.1.30 'osascript -e "set volume output volume {{ XXX }}"'

Cette commande est exécuter dans une automation comme ceci

sequence:
      - variables:
          volume_definie: "{{ states('input_number.osx_volume') }}"
      - service: shell_command.osx_set_volume
        data_template:
          XXX: "{{ volume_definie }}"

J’imagine que tu devrais utiliser data_template et écrire quelque chose qui ressemble plutôt a ceci

action:
  - service: shell_command.add_simple_text_to_file
    data_template:
      texte_a_ajouter: "{{ Contenu de votre variable passe par parametre }}"