Aide sur un script shell

bonjour
j’ai un bout de script shell dans configuration.yaml qui modifie des parametres d’un interrupteur Tasmota
voici ce script :

shell_command:
  time_sonoff_temp: "/usr/bin/curl -X POST http://ip_inter_tasmota/cm?cmnd=pulsetime1'%'20{{ states('input_select.temps_en_minutes')}}"

c’est juste un curl, {{ states(‹ input_select.temps_en_minutes ›)}} contient une valeur récupérée avec une liste déroulante… la valeur est bien récupérée car j’ai essayé la commande avec le modèle dans outils de développement…

si je lance le curl en ligne de commande ça fonctionne parfaitement
mais depuis lovelace et une carte, le script n’est pas déclenché…
rien dans les logs
comment débuger dans ce cas ?

merci

Pour toute demande d’aide, il faut aller dans la catégorie Entraide Home Assistant.

Merci d’avance

Salut,

Essaye ça plutôt

shell_command:
  time_sonoff_temp: /usr/bin/curl -X POST "http://ip_inter_tasmota/cm?cmnd=pulsetime1'%'20{{ states('input_select.temps_en_minutes')}}"

Hello
Mon conseil, mets ça dans un fichier .sh que tu rends exécutable. Ton input devenant un paramètre d’entrée de ton script
Et appel ce script dans le fichier de configuration Yaml.
Comme ça si tu as besoin de le modifier, pas besoin de toucher a ta config. En plus tu peux tester le script en l exécutant à la main plutôt que de copier coller ta ligne de commande.

En Shell ChatGpt est plutôt bon si tu lui expliques bien ton besoin

1 « J'aime »

Sinon pour tasmota il existe une intégration dans HA

merci à tous pour votre aide…
alors la correction de pulpy-luke, ne fonctionne pas, je sais pas pourquoi…
en revanche le fait de mettre la commande curl dans un script .sh fonctionne ( soluce de bensmens), mais uniquement avec l’outil de dev…


je crois que mon sélecteur n’est pas bon…
j’ai l’impression qu’au changement d’option la valeur n’est pas passée à l’entité « input_select.temps_en_minutes »

type: custom:mushroom-select-card
entity: input_select.temps_en_minutes
tap_action:
  action: perform-action
  perform_action: shell_command.time_sonoff_temp
  target: {}
name: Temps minutes sonoff_temp

trop bête ! c’est pas tap_action qu’il faut utiliser… (j’ai testé en cliquant sur la carte…)
sans doute un truc comme on_change ?

au final j’ai suivi le conseil de Bensmens et demandé à l’IA copilot github…
elle m’a proposé de créer une automatisation, ce que j’ai fait et effectivement ça fonctionne…
en conclusion :

  • dommage qu’il faille passer par une automatisation et que l’on ne puisse pas faire le changement dans la carte…
  • l’ia c’est très bien, mais j’ai encore le réflexe forum… j’aime encore échangé avec des humains :grinning:
    merci et bonne soirée

Une automatisation ou un script ?

Si tu ne peux pas appeler directement ta commande depuis ta carte, il est possible d’appeler un script.

bonjour Bastgau
la carte appelle bien le script mais cette carte contient un sélecteur (voir code ci-dessus)
et au moment du changement l’argument n’est pas passé au script
l’IA a proposé une automatisation et ça fonctionne…
si tu as une idée sans automatisation, je suis preneur…

Salut
La carte appelle le script à condition que tu fasses un clic sur son icone avec ton code.
Donc dans ton cas initial il faut changer la valeur du select et ensuite cliquer sur l’icone pour lancer le script.
Dans le cas d’une automatisation, elle détecte le changement de valeur du select et lance les actions adéquates sans que tu ai besoin de cliquer sur l’icone apres avoir changé la valeur du select.
A toi de voir ce qui te convient le mieux parce qu’en soit une automatisation ou un script c’est la même chose, juste que l’automatisation à les triggers à définir en plus ce qui à mon avis dans ton cas est le mieux si le but est de lancer directement les actions quand tu changes la valeur du select.

tu as raison Tochy, je reste avec l’automatisation qui fonctionne parfaitement…

Le mieux c est les deux, l automatisme appel le script.

L automatisme est en charge des déclencheurs et le script de l action. Responsabilité unique.

2 « J'aime »

bonjour,
on sait tous les combien de seconde HA lance les automatisations ?
j’imagine que plus il y a d’automatisations plus la charge sur le CPU est grande ?

Tout dépend le type de déclencheurs.

On parle d’une automatisation se basant sur quels déclencheurs ?

bonjour
sur les entités