bonjour,
j’ai créé une commande shell comme ceci pour parametrer un timer de 30 secondes sur un inter sonoff tasmota
timer_sonoff_temp: "/usr/bin/curl 'http://ip tasmota/cm?cmnd=pulsetime%20130"
le %20 c’est l’espace
cette commande fonctionne parfaitement en mode cli de HA et j’ai bien un pulsetime à 30 sur le sonoff
elle s’exécute bien aussi sur HA mais sans les 30 secondes, je soupçonne le %20
j’ai essayé de mettre un \ pour échapper le % mais sans succès…
avez vous une idée ?
merci
Salut,
Il ne te manque pas la quote simple pour fermer ta commande ?
La simple quote est effectivement en trop …
J’avais essayé en entourant la commande http de simples quotes…mais c’est pareil …
Je pense vraiment au % car ce qui vient après n’est pas interprété par HA…
Essaye
/usr/bin/curl -X POST http://ip/cm?cmnd=pulsetime%20130
bonsoir,
voici la solution pour échapper le % (caractère réservé de HA) il faut mettre des simples quotes, la commande suivante fonctionne
/usr/bin/curl -X POST http://ip/cm?cmnd=pulsetime'%'20130
Dans ce cas c’est sans doute plus propre de traiter la chaine complète :
/usr/bin/curl -X POST 'http://ip/cm?cmnd=pulsetime%20130'
C’est ce que j’ai fait au début, sans succès…
testé avec les 2 ’ ?
Dans ton message initial il n’y en avait qu’une
bonjour
j’ai refait mes tests donc :
/usr/bin/curl -X POST 'http://ip/cm?cmnd=pulsetime%20130'
simples quotes entourant la commande http, fonctionne également
merci Pulpy-luke
1 « J'aime »
sinon question annexe…
j’ai créé une liste déroulante dans « entrée » avec 2 valeurs 700 et 900
comment récupérer ces 2 valeurs pour les utiliser dans ma commande ( variable contenant une des 2 valeurs ) :
/usr/bin/curl -X POST 'http://ip/cm?cmnd=pulsetime%20variable'
merci beaucoup
ça doit être jouable avec un truc du genre
/usr/bin/curl -X POST 'http://ip/cm?cmnd=pulsetime%20' ~ {{ states('input.select.type')}}
Après très honnêtement, pour 2 valeurs, autant faire 2 boutons qui balancent chacun un curl différent en dur
merci ça fonctionne sans le ~ , les 2 valeurs était pour l’exemple, il y en aura plus…
`/usr/bin/curl -X POST http://ip/cm?cmnd=pulsetime'%'20{{ states('input.select.type')}}`