Zorgonaute84 Posté(e) le 30 septembre 2015 Signaler Posté(e) le 30 septembre 2015 Comme il y a pas mal de sujet éparpillés concernant les requetes GET et PUT sur HCL, j'ai décidé d'en créer un de plus ! Non plus sérieusement après avoir écumé tous les sujets (avoir tout lu et son contraire) et galéré a trouver quelque chose qui fonctionne, voici les deux syntaxes pour du GET et du PUT sur HCL qui fonctionnent en V4.057 ! Pour du PUT (changement d'une variable) : Il est IMPERATIF que l'IP du virtual device soit 127.0.0.1 et son port : 11111 La requête s'écrit alors exactement comme cela : PUT /api/globalVariables/VOTRE_VARIABLE HTTP/1.1 Host: 127.0.0.1 Authorization: Basic VOTRE_ADMIN:PASSWORD_EN_BASE64 {"name":"VOTRE_VARIABLE","value":"LA_VALEUR_A_CHANGER"} Rien de plus, et rien de moins ! Meme si le host est 127.0.0.1, il faut garder le "Authorisation: Basic" sinon ca marche pas (j'ai testé), rajouter Votre variable a la fin de l'URL est indispensable, sinon ca ne marche pas non plus et le content-length ne sert a rien (j'ai pas testé si ça fonctionnait avec, mais ca fonctionne sans) Pour le GET c'est une autre histoire (déclenchement d'une scène) Vous pouvez écrire ce qu'il vous chante dans le champ adresse IP et port du virtual device, que ce soit l'IP de la box, 127.0.0.1 ou rien du tout, ca fonctionne ! La syntaxe est celle la : GET /api/sceneControl?id=ID_DE_VOTRE_SCENE&action=start HTTP/1.10x0D0x0AHost:IP_DE_VOTRE_HCL:80 0x0D0x0AAuthorization: Basic VOTRE_ADMIN:PASSWORD_EN_BASE64 0x0D0x0A0x0D0x0A Ce coup-ci c'est bien l'IP de la fibaro qu'il faut mettre, sinon ca ne marche pas ! Et il faut écrire toutes les petites merde comme celle-ci pour simuler des retours a la ligne (0x0D0x0A) sinon ca ne marche pas ! Remarque importante : Le changement d'une variable via la méthode PUT ne déclenche pas les scènes dont cette variable est le déclencheur. 7
Berale64 Posté(e) le 30 septembre 2015 Signaler Posté(e) le 30 septembre 2015 Bravo et merci pour cette mise àjour. Même si je n'ai plus de HCL, il y en aura surement qui seront très content.
klael Posté(e) le 16 novembre 2015 Signaler Posté(e) le 16 novembre 2015 Avec le PUT, les mises àjours ne sont pas restreinte au Variables. Par exemple pour mettre àjours un panneau de chauffage, pour la valeur de consigne de vacance: PUT /api/panels/heating HTTP/1.10x0D0x0AHost:192.168.1.10 0x0D0x0AAuthorization: Basic YWRtXXXXXXXXXXXX 0x0D0x0A0x0D0x0A {"id":26,"name":"Sejour","properties":{"handTemperature":0,"handTimestamp":0,"vacationTemperature":23}} http://www.domotique-fibaro.fr/index.php/topic/6420-mode-de-chauffage-sur-la-hcl/#entry96498
doxaid Posté(e) le 13 mars 2016 Signaler Posté(e) le 13 mars 2016 Bonjour, Savez-vous si il est possible de réaliser un appel en HTTPS depuis un module virtuel sur HCL ? Je cherche juste à réaliser un appel ifttt sur le channel maker. Merci
Moicphil Posté(e) le 13 mars 2016 Signaler Posté(e) le 13 mars 2016 Salut Le https n'est possible que dans une scène ( Lua ) donc malheureusement, sur HC Lite, tu ne pourra pas utiliser le Https Par contre, il me semble qu'en "http" ifttt fonctionne. sur cette base : http://maker.ifttt.com/trigger/{event}/with/key/{Userkey}. Va falloir créer un bouton dans ton .module virtuel et écrire en "string" ta requête. ( @jojo à fait un tuto sur les requêtes http sur HC Lite )
doxaid Posté(e) le 13 mars 2016 Signaler Posté(e) le 13 mars 2016 Dommage ifttt semble en effet fonctionner en http. Depuis un navigateur, l'appel http fonctionne correctement. Depuis un module virtuel, impossible d'obtenir une trace d'appel dans les logs de ma Recipe. Voici la syntaxe utilisée dans le bouton du module virtuel de la HCL. GET /trigger/{event}/with/key/{Userkey} HTTP/1.1 Host: maker.ifttt.com 0x0D0x0A0x0D0x0A (Avec event = Nom de l'event dans ifttt Userkey = la clé associée)
q.philippe Posté(e) le 28 mars 2016 Signaler Posté(e) le 28 mars 2016 Salut Quel est l'api pour un device virtuel action ON ,? j'ai celà : /api/callAction?deviceID=231&name=pressButton&arg1=1
jojo Posté(e) le 31 mars 2016 Signaler Posté(e) le 31 mars 2016 ce qu tu as entré me semble correct d'après la doc : http://tutoriels.domotique-store.fr/content/49/45/fr/api-commander-le-home-center-par-des-requ%C3%AAtes-http.html Modules virtuels ID = device ID arg1 = button ID arg2 = slider value (only for slider) http://<LOGIN>:<PASS>@<IP>/api/callAction?deviceID=<ID>&name=pressButton&arg1=<BUTTON ID> http://<LOGIN>:<PASS>@<IP>/api/callAction?deviceID=<ID>&name=setSlider&arg1=<SLIDER ID>&arg2=<VALUE>
Messages recommandés