Slider avec script json

Je t’ai dit que j’étais nul … j’ai refait et voici la réponse

Commande : Commande : /var/www/html/plugins/script/data/curl_wieser.sh

sh: 1: Commande: not found

faut pas écrire commande … :face_with_raised_eyebrow: juste le chemin complet du script
/var/www/html/plugins/script/data/curl_wieser.sh

image

Comme ceci ?

nickel ca marche !
et maintenant :
/var/www/html/plugins/script/data/curl_wieser.sh 17 8000

et cette commande :

curl -X PUT 'http://192.168.1.150/api/loads/17/target_state' -H 'accept: application/json' -H 'Content-Type: application/json' -d '{ "bri": 6286 }'

toujours à la meme place ou dans la requete script ?

Réglages > Système > Configuration
Onglet ‹ _OS/DB › > Administration Système

Alors jeedom réfléchi sans arret …

moi c’est instantané

T’as pas mis les brackets !

#!/bin/bash
# Curl Wieser
#
#  arguments :
#      - ID_MODULE : id du module Wieser
#      - VAL_BRI   : valeur du BRI

if [ $# -eq 2 ]; then
  IP="192.168.1.150"
  ID_MODULE=$1
  VAL_BRI=$2
  URL="http://${IP}/api/loads/${ID_MODULE}/target_state"
  
  # echo "${URL} -H 'accept: application/json' -H 'Content-Type: application/json' -d '{"bri": ${VAL_BRI}}'"
  
  curl -X PUT ${URL} -H 'accept: application/json' -H 'Content-Type: application/json' -d '{"bri": '"${VAL_BRI}"'}'
  cr_curl=$?
  if [ "${cr_curl}" != "0" ]; then
     echo "[ERREUR] curl : [${cr_curl}]"
  fi  
else
  echo "Arguments manquants"
fi

fait bien le copier/coller :
curl -X PUT 'http://192.168.1.150/api/loads/17/target_state' -H 'accept: application/json' -H 'Content-Type: application/json' -d '{ "bri": 6286 }'

Mon fils m’avait parlé de chat GPT j’ai essayé et ca fonctionne !!!

il a corrigé ton script:

  1. Lors de la construction de l’URL, il n’y a pas de slash entre l’adresse IP et le chemin d’accès. Il devrait être http://${IP}/api/loads/ au lieu de http://${IP}api/loads/
  2. Lors de l’envoi de la requête PUT, la valeur BRI n’est pas incluse dans des guillemets. Il devrait être ‹ {« bri »: ${VAL_BRI}} › au lieu de ‹ {« bri »: ${VAL_BRI}} ›.
  3. Lorsque la réponse curl est différente de 0, il manque les parenthèses pour « test » : if test « ${cr_curl} » != « 0 » → if [ « ${cr_curl} » != « 0 » ]

Merci mille fois !!! Et désolé pour le temps que je t’ai fait perdre !!!

Et si je veux faire le même par du on/off

-d ‹ {
« button »: « on/off »,
« event »: « click »
} ›
#!/bin/bash

Curl Wieser

arguments :

- ID_MODULE : id du module Wieser

if [ $# -eq 1 ]; then
IP=« 192.168.1.150 »
ID_MODULE=$1
URL=« http://${IP}/api/loads/${ID_MODULE}/target_state »

Envoi de la requête POST avec les données JSON

curl -X POST « ${URL} » -H ‹ accept: application/json › -H ‹ Content-Type: application/json › -d ‹ {« ctrl »: {« button »: « on », « event »: « click »}} ›

cr_curl=$?
if [ « ${cr_curl} » != « 0 » ]; then
echo « [ERREUR] curl : [${cr_curl}] »
fi
else
echo « Argument manquant : ID_MODULE »
fi

Oui tu peux

C’est parfait, j’ai terminé le script avec 3 arguments !
ID du module, statut et action … ( 17 on click)
deux autres On/Off ou j’ai juste l’id à ajouter, je pourrait faire de duplication de script
et changer juste l’ID !

il me reste le retour d’état mais je suis embêté avec une authentification, je reçois une clé mais ensuite la passerelle ne la prend pas …

Merci encore !!!

Voila après une journée de script et d’essais je suis fonctionnelle j’aimerais juste diviser la valeur du slider par 100 sur le dashboard …


Widget