Aide requêtes script PUT et Json

Bonjour à tous
Je cherche le moyen de commander un variateur avec un curseur et/ou bouton.
J’ai trouvé le moyen d’envoyer la commande avec REST

Mais je ne sais pas comment les inscrires dans mon plugin script …
Pour le retour d’état, pareil, j’ai chercher sur le forum et essayer plein de possibilités json

à cette adresse : http://192.168.1.150/api/loads/17/state

data>target_state>bri, status>data>state>bri, >bri, …

Impossible :frowning:
Est-ce que qqun pourrait m’aider ?
J’ai trouvé l’API ICI mais ne sais pas comment l’exploiter ?

Merci d’avance pour votre aide

Hello,

Tu peux nous montrer ce qui tu as essayé de faire avec le #plugin-script et ce que tu obtiens comme résultats (captures d’écran) ?

A priori, il n’est pas possible de choisir la méthode (PUT) de la requête qui est faite, c’est toujours GET.

Si tu n’arrive pas à avoir de retour sans filtre", le seul moyen (autre que de faire un PR sur le plugin-script) est de passer par un script Shell (avec wget + jq ou autre), là tu seras libre de query l’API et découper le retour selon tes besoins, par exemple avec le code suivant :

curl -H 'Content-Type: application/json' -X PUT -d '{"bri":10000}' \
    http://192.168.1.150/api/loads/17/target-state \
| jq '.data.target_state.bri'

Bad

Merci beaucoup pour ton aide.
Voici la capture d’écran.

Malheureusement la commande ne fonctionne pas

Erreur sur curl -H Content-Type: application/json -X PUT -d {« bri »:0} \ http://192.168.1.150/api/loads/17/target-state \ | jq .data.target_state.bri 2>&1 valeur retournée : 4. Détails : parse error: Invalid numeric literal at line 1, column 10

Erreur exécution de la commande [Salon-Cuisine][wiser applique][test2] : Erreur sur curl -H Content-Type: application/json -X PUT -d {« bri »:0} \ http://192.168.1.150/api/loads/17/target-state \ 2>&1 valeur retournée : 3. Détails : 404 Not Found Not Found

Est-ce qu’un autre plugin existe pour envoyer du PUT ?

Essaye voir de mettre le curl dans un fichier de script, j’ai eu des soucis du même genre avec le code directement dans le champ.

1 « J'aime »

Toujours une erreur

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

J’ai regardé dans l’API et apparemment les demandes sont en GET
mais les commandes toujours en PUT :frowning:

Avec mes ancien interrupteur c’était tous simple curl -d « cmd=on » http://192.168.1.150/zrap/chctrl/ch1"

Tu peux renommer ton script en Wiser.sh (il y a l’air d’avoir des espaces dans le nom…) et m’en donner le contenu ?

Je relis tes messages et pour être sur de ne pas te faire perdre du temps pour rien, j’ai juste coller ton code dans la case requête et cliqué sur le vert (nouveau) … Je n’ai pas la moindre idée de comment faire avec wget et jq !? Je devais faire autre chose ?

As-tu regardé l’API peut être que c’es très simple pour un pro et que je t’ai orienté
dans la mauvaise direction avec mon manque de connaissances …

J’ai trouvé ce Tuto aussi

Merci Bad j’avance !
Ça fonctionne

Par contre avec le script directement dans la fenêtre, Il y a une erreur …
C’est dommage car je vais avoir beaucoup de fichiers script (129 avec les deux boutons et l’état)

Erreur sur curl -X PUT \ https://192.168.1.150/api/loads/17/target_state \ -H accept: application/json \ -H Content-Type: application/json \ -d { « bri »: 0 } 2>&1 valeur retournée : 2. Détails :

Il me reste le retour d’état et le curseur …
Est-ce possible de faire un curseur avec les commandes curl ?

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.