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.
dans l’automatisation,
action:
- service: shell_command.add_simple_text_to_file
data:
texte_a_ajouter: Contenu de votre variable passe par parametre
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
Frosh
Février 29, 2024, 3:45
2
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 }}"