Slider avec script json

Bonjour

Est-ce que qqu’un peut m’aider à comprendre ce que je fait faux.
J’ai réussi à commander mes variateur Wieser avec le plugin script. Cela fonctionne quand je place ma requête dans un fichier et du coup le #slider# ne fonctionne pas …

Quand je place ma requête directement dans le plugin,

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

J’ai cette réponse

Erreur sur 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 } 2>&1 valeur retournée : 2. Détails : {"message":"missing required attribute 'bri'","status":"error"}

Même sans utiliser le curseur avec une info (off « bri »:0 et on « bri »:10000) j’ai cette erreur que je n’ai pas dans le fichier

Bonjour,

Le script ne doit pas être mis directement dans la commande mais dans un fichier, utilisez les boutons au dessus pour creer le fichier.

Et le tag #slider# ne sera jamais connu dans le script, uniquement dans jeedom
Vous devez appeler votre script en passant en paramètre la valeur du slider, le tag.

Regardez la doc, il y a des exemples et regardez les autres posts sur community concernant le plugin; cette question a déjà été abordée de nombreuses fois.

Ceci dit, avez-vous vraiment besoin d’un PUT?
Si pas, une simple commande http sera plus facile qu’une commande script.

Le script ne doit pas être mis directement dans la commande mais dans un fichier, utilisez les boutons au dessus pour creer le fichier.

Oui c’est bien mon problème …
dans le fichier cela fonctionne mais est-ce possible de faire un slider ?

Ceci dit, avez-vous vraiment besoin d’un PUT?
Si pas, une simple commande http sera plus facile qu’une commande script.

Je ne connais pas grand chose mais apparemment oui j’ai essayé simplement du http mais ca ne fonctionne pas et dans l’API ils parlent de PUT

Salut @ced2001
T’as essayé de passer la value comme chaîne de caractères…?
Sinon tu laisses ta commande dans ton fichier et tu lui passe en argument la value « bri »

Salut
Merci pour ta réponse.
Malheureusement c est du chinois pour moi je suis électricien et absolument pas programmeurs. Peux-tu me donner plus de detail ou un exemple ?

Avez-vous lu la doc comme je vous ai demandé?
Avez-vous cherché parmi les demandes précédentes? car la même demande a déjà été faite plusieurs fois donc pas la peine qu’on répète tout encore ici :wink:

et cette exemple est dans la doc: https://doc.jeedom.com/fr_FR/plugins/programming/script/?theme=light#Les%20paramètres (avec un script php mais c’est exactement la même chose pour passer le paramètre qui est la valeur du slider)

En fait si je comprends bien, je pourrais avoir le script dans le fichier qui reprend des valeurs ou arguments ( ID de mon module et Slider) et ainsi avoir un seul et unique fichier script ???

curl -X 'PUT' \
  'http://192.168.1.150/api/loads/#ID DE MON MODULE#/target_state' \
  -H 'accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
  "bri": #SLIDER#
}'

Désolé, je comprend vite quand on m’explique longtemps …

Si t’as plusieurs modules oui tu peux faire un script générique :+1: avec des arguments

EDIT : Cadeau
en ligne du commande tu fais :
./curl_wieser.sh 17 10000

curl_wieser.sh.txt (609 Octets)

1 « J'aime »

Wow ! Tu fais un script !?
C’est super sympa !!! Par contre comme je l’ai dit, je suis novice ! Même nul en prog !
J’abuse si je te demande ou mettre quoi dans mon plugin jeedom ?

J’ai essayé d’enregistré le fichier curl_wieser.sh (aussi sans le .sh) dans le dossier script
et j’ai copié le ./curl_wieser.sh 17 10000 dans la case requête…

Est-ce que l’argument ${VAL_BRI} pourrait provenir du slider ?

Tu le met dans un répertoire dans le module ‹ script › c’est plus propre :wink:
Après tu fais une action curseur :
avec cette commande : /var/www/html/plugins/script/data/WIESER/curl_wieser.sh 17 #slider#

J’ai donc essayé comme ça

J’ai cette erreur … Il trouve pas le fichier script !?

Erreur exécution de la commande [Salon-Cuisine][wiser applique][slider test] : Erreur sur /var/www/html/plugins/script/data/WIESER/curl_wieser.sh 17 8366 2>&1 valeur retournée : 127. Détails : sh: 1: /var/www/html/plugins/script/data/WIESER/curl_wieser.sh: not found

Attention :wink: Jeedom c’est pas du Windows !!
C’est sensible à la case ! (minuscule / majuscule)

image

Désolé vraiment !
J’ai essayé de copié le contenu de ton fichier text dans un fichier, de copier et coller directement ton fichier dans le répertoire :disappointed_relieved:

j’ai rien compris :rofl: :joy:
Si ça marche temps mieux…

Non justement ça marche pas

:rofl:
vire l’extension ‹ .txt ›, c’est pour cela qu’il trouve pas le script :wink:
image

j’avais essayé les deux

Il y avait un sous répertoire en trop
maintenant j’ai plus d’erreur par contre le script ne fonctionne pas …


il dit quoi ??
quand tu fais ça, ca donne quoi :

pour avoir la console, faut aller :
Réglages > Système > Configuration
Onglet ‹ _OS/DB › > Administration Système

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

Arguments manquants

Nickel ca marche :slight_smile: