eric69 Posté(e) le 31 janvier 2015 Signaler Partager Posté(e) le 31 janvier 2015 Bonjour, Je viens de passer à la version 4.032 sur ma HC2. J'ai plusieurs problèmes avec cette nouvelle version quand j'utilise l’Api: J'ai une Raspberry PI avec une clé 3G, et je m'en servais pour pouvoir allumer une lampe (ou piloter un module) en envoyant un SMS à la Raspberry. Je suis débutant, mais j'avais réussi à faire ce que je voulais en utilisant la commande suivante directement dans l'explorateur: X://admin:password@192.168.xxx.xxx/api/callAction?deviceID=8\&name=turnOn J'ai ensuite utilisé cette commande dans un fichier "bash" exécuté par le PI dès réception d'un SMS (après traitement du contenu du SMS): wget X://admin:password@192.168.xxx.xxx/api/callAction?deviceID=8\&name=turnOn Note: J'ai remplacé le "http" par X car ça cachait une partie de la commande en la transformant en lien. Je ne sais pas si tout cela est très correct du point de vue des gourous en programmation , mais ça fonctionnait bien jusqu'à ce que je passe à la 4.032. Maintenant, la même commande ne fait plus rien. Si je la teste directement dans un explorateur, j'obtiens le message suivant: {"type":"ERROR","reason":"WRONG_TYPE","message":"deviceID: expected unsigned int"} J'ai vérifié l'ID de mon module de test: c'est toujours "8"... Que faut-il changer à cette commande pour obtenir le résultat d'avant ? De plus, toujours en utilisant mon Raspberry, je souhaiterais modifier la valeur d'une variable globale crée sur la HC2. Dans mon fichier ".sh" et aussi directement dans l'explorateur, j'ai essayé ces commandes, mais sans aucun résultat (et pas de message d'erreur non plus...) - X://admin:password@192.168.xxx.xxx/api/globalVariables/mavariable curl -X PUT -d '{"name":"mavariable","value":"1"}' - X://admin:password@192.168.xxx.xxx/api/globalVariables/mavariable curl -X POST -d '{"name":"mavariable","value":"1"}' Note: J'ai remplacé le "http" par X . Quelle commande dois-je passer pour modifier "mavariable" ? Merci de votre aide. Eric Lien vers le commentaire Partager sur d’autres sites More sharing options...
eric69 Posté(e) le 5 février 2015 Auteur Signaler Partager Posté(e) le 5 février 2015 Personne pour m'aider ??? Personne ne modifie de variable en utilisant l'API ? NB: je viens de passer à la version 4.033 ... c'est toujours pareil ! Lien vers le commentaire Partager sur d’autres sites More sharing options...
Krikroff Posté(e) le 5 février 2015 Signaler Partager Posté(e) le 5 février 2015 Tu devrais tenter: /api/devices/8/action/turnOn L'api est documentée en faisant un/docs derrière l'IP de ton HC2 Envoyé de mon smartphone Lien vers le commentaire Partager sur d’autres sites More sharing options...
eric69 Posté(e) le 6 février 2015 Auteur Signaler Partager Posté(e) le 6 février 2015 Merci Krikroff !!! En ce qui concerne la commande pour allumer ou éteindre un module: ça marche ! Mais j'ai toujours du mal à modifier une variable depuis mon Raspberry. En utilisant la page que tu m'indiques, on peut tester directement la modification de la variable, et là , ça marche !!! C'est quand je veux passer la commande depuis le Raspberry que je n'y arrive pas. En fait, j'ai un abonnement "Tempo" avec EDF, et je voudrais gérer mon chauffe-eau et mon chauffage électrique en fonction de la couleur (donc de la tarification) des jours. Je récupère les infos avec le Rapberry, et je voudrais mettre les variables "jour_bleu", "jour_blanc" et "jour_rouge" sur la box Fibaro pour gérer les modules qui commandent mon chauffage. Pour passer la variable "jour_rouge" à 1 , j'utilise la commande suivante: curl -X PUT -d '{"name":"jour_rouge","value":"1"}' http://admin:password@192.168.1.114/api/globalVariables mais j'obtiens le message d'erreur suivant: {"type":"ERROR","reason":"name","message":"No variable name in uri"} Je dois me planter dans la syntaxe, oublier une accolade ou un guillemet... Une idée ??? Merci d'avance Lien vers le commentaire Partager sur d’autres sites More sharing options...
eric69 Posté(e) le 17 février 2015 Auteur Signaler Partager Posté(e) le 17 février 2015 Bon, je me réponds à moi-même, Après avoir ramé pendant un bon bout de temps, j'ai enfin trouvé une solution qui fonctionne !!! Si ça peut aider les gens comme moi qui ne s'y connaissent pas vraiment en programmation... En fait, je n’étais pas très loin de la vérité: C'était juste un problème de syntaxe avec la commande "curl" lancée sur le Raspberry. - Pour piloter un module, il faut exécuter cette commande depuis n'importe quel système tournant sous Linux et se trouvant sur le même réseau que la HC2: wget http://admin:password@192.168.xxx.xxx/api/callAction?deviceID=8\&name=turnOn (ou turnOff) - Pour modifier une variable existante (ici: "jour-rouge"), il faut exécuter cette commande: curl -X PUT http://admin:password@192.168.xxx.xxx/api/globalVariables/jour_rouge -d'{"value":"1"}' Il fallait "juste" mettre les paramètres au bon endroit Il ne me reste plus qu'à peaufiner le programme qui va me gérer mon chauffage en fonction du tarif EDF ... Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés