Creer des commandes shell via UI

Bonjour,
j’étudie le fonctionnement de HA et je vais avoir besoin de lancer des commandes scripts, ssh, curl etc…

J’essaie d’étudier la doc, mais j’ai l’impression qu’on ne peut pas le faire dans l’UI !

je n’ai pas envie de toucher le fichier configuration.yaml
il y a pas une astuce pour créer ses commandes via la Webui et les appeler dans la automatisations ?

Bonjour,
Oui, c’est impossible par le UI, c’est quand YAML.

Tu ne risques rien, si tu vérifies bien ta configuration avant de redémarrer. Il faut un début a tout :wink:

c’est dommage qu’il n’y ai rien dans l’UI pour créer un shell …
Alors qu’il y a commande Shell dans l’UI ??

Quelqu’un peut me guider ? il faut du coup aller carrément dans le fichier ???

Après, je vais sans doute dire une connerie, et ça va faire bondir les puristes… mais tu peux sans doute faire ce que tu veux avec Node-red. ça permet de faire beaucoup de choses sans toucher au fichier de config tout en s’interfaçant « nativement » avec HA.
Et quand tu sera plus à l’aise avec l’idée de toucher au fichier de config, il sera toujours temps de migrer petit à petit.

Oui et le message dit quoi ?

C’est juste pour t’informer que tu as des sensors command line créer en YAML.


Non je me la tente dans le configuration.yml

shell_command:
  smartled_msg: >-
    curl "http://172.20.0.30/?message={{ message }}&intensity=0&speed=50"

Je retrouve bien ma commande dans les automatisations

Mais aucun texte ne sort de mon smartled …

Bon je suis content j’ai réussi comme un grand.
1 - Via le file editor ajouter la commande dans configuration.yml

shell_command:
  smartled_msg: >-
    curl "http://172.20.0.30/?message={{ message }}&intensity={{ intensity }}&speed={{ speed }}&static={{ static }}"

J’ai même compris l’histoire des variables
Vous mettez ce que vous voulez du moment que vous appelez les mêmes dans vos automatisations

{{ message }} ; Variable ou on va mettre notre texte
{{ intensity }} ; Variable ou on va mettre l’intensité du texte
{{ speed }} ; Variable ou on va mettre la vitesse de defilement
{{ static }} ; Variable ou on va mettre si c’est statique ou non (pas de defilement)

Après on vérifie la conf via outil de developpement et on redemarre HA.

On peut tester la commande dans outils de developpement actions

action: shell_command.smartled_msg
data:
  message: Vive%20HA
  intensity: 10
  speed: 60
  static: 0

La commande est donc disponible maintenant via l"UI dans les automatisations
Utilisez plutot « Effectuer une action »


astuce remplacer les espace par %20

Du coup je peux reproduire le plugin Jeedom
Car on peut mettre des variables dans le message

En affichant l’heure toutes les minutes sur le smart led

alias: test smartled
description: ""
triggers:
  - trigger: time_pattern
    minutes: "*"
conditions: []
actions:
  - action: shell_command.smartled_msg
    data:
      message: "{{ ( as_timestamp(now()) |  timestamp_custom('%H:%M' ))}}"
      intensity: 0
      speed: 60
      static: 1
mode: single

Petite question subsidiaire, pas de problème sous HA davoir une automatisation qui boucle toutes les minutes ?
Je sais que Jeedom aimait pas bien ça ..

En quoi cela boucle ? Tu vas déclencher un déclencheur toutes les minutes, ca devrait pas poser de soucis.

Si c’est pour envoyer des commandes en HTTP, tu sais qu’il y a l’intégration REST qui permet de faire ça aussi

Ce sujet a été automatiquement fermé après 60 jours. Aucune réponse n’est permise dorénavant.