jjacques68 Posté(e) le 17 mars 2017 Signaler Posté(e) le 17 mars 2017 Bonsoir tout le monde ! est ce quelqu'un arrive encore à faire des requêtes http directement sous IE ? une toute simple pour tester : allumage d'une lampe ... http://admin:mdp@192.168.x.y/api/callAction?deviceID=138&name=turnOn Chez moi il me retourne une erreur comme quoi l'adresse n'est pas valide. Et je soupçonne le Login:mdp qui ne serait plus accepté dans les url ? C'est possible ? si j'enlève le couple admin:mdp, il me demande les identifiants, et ça fonctionne. sous Firefox, il me l'accepte si je valide une alerte. Vous remarquez la même chose ? est ce une limitation des navigateurs ?
Krikroff Posté(e) le 18 mars 2017 Signaler Posté(e) le 18 mars 2017 Bonjour @jjacques68, j'ai la même chose sous IE11, utilise Firefox ou bien chrome . De plus c'est l'ancienne API qui n'est plus supportée et qui disparaîtra un jour ou l'autre alors autant passer par la nouvelle ex: http://192.168.1.xxx/api/devices/1484/action/turnOn, mais attention c'est en méthode POST et pas en GET.
jjacques68 Posté(e) le 18 mars 2017 Auteur Signaler Posté(e) le 18 mars 2017 ok mais il n'y a plus d'identification alors ?
jjacques68 Posté(e) le 18 mars 2017 Auteur Signaler Posté(e) le 18 mars 2017 Avec cette syntaxe toujours ? http://admin:mdp@192.168.1.xxx/api/devices/1484/action/turnOn
Lazer Posté(e) le 18 mars 2017 Signaler Posté(e) le 18 mars 2017 Le compte "admin" n'existe plus, et est renommé par une adresse email (avec un arobase @ donc ça pose problème dans l'URL) Tu peux utiliser un compte utilisateur que tu crées via l'interface Web, ainsi cela t'éviter d'exposer le mot de passe du compte administrateur en clair. 1
jjacques68 Posté(e) le 18 mars 2017 Auteur Signaler Posté(e) le 18 mars 2017 Oui j'ai déjà créer un autre user à cause de ça (avec les bons droits sur les modules) mais quand je saisie cette URL (avec le bon user, mdp, ip et id) http://admin:mdp@192.168.1.xxx/api/devices/1484/action/turnOn Il me retourne le contenu json du device... !!!! Et rien ne s'allume !
Lazer Posté(e) le 18 mars 2017 Signaler Posté(e) le 18 mars 2017 Normal, Kirkroff t'as bien précisé que c'est une requête POST et non pas du GET. Donc tu ne peux pas le faire depuis la barre d'adresse de ton navigateur, car il ne sait faire que du GET. Il faut que tu utilises pour cela une extension, ou des commandes Curl depuis un shell Linux par exemple.
chris2div Posté(e) le 18 mars 2017 Signaler Posté(e) le 18 mars 2017 Salut, pour contourner ce pb, j'ai créé un VD avec plusieurs boutons. puis un utilisateur TOTO qui a les droits sur ce VD. http://toto:password@192.168.x.y/api/callAction?deviceID=zzz&name=pressButton&arg1=5 on appuie sur le bouton 5 du VD dont l'id est zzz C'est @pepite qui m'a mis sur la voie ! Merci à lui
Lazer Posté(e) le 18 mars 2017 Signaler Posté(e) le 18 mars 2017 Oui avec l'ancienne API v3 aucun problème en GET, mais Jacques68 veut utiliser l'API v4, qui impose des requêtes POST.
jjacques68 Posté(e) le 18 mars 2017 Auteur Signaler Posté(e) le 18 mars 2017 (modifié) Il y a 1 heure, Lazer a dit : Donc tu ne peux pas le faire depuis la barre d'adresse de ton navigateur, car il ne sait faire que du GET. D'accord, mais alors lorsque l'ancienne api va disparaître, on va avoir de sacrés soucis !!! Avec nos IPX et sarah par exemple ! lorsque Google home ou Amazon Écho seront dispo, ça va être galère si on peut plus faire de requêtes GET !!! @Lazer nos messages viennent de se croiser Modifié le 18 mars 2017 par jjacques68
Lazer Posté(e) le 18 mars 2017 Signaler Posté(e) le 18 mars 2017 L'IPX permet de faire du POST, donc ça devrait fonctionner (cela dit, je viens de vérifier, et j'utilise toujours l'ancienne API v3 en GET depuis mon IPX v4, comme dans l'exemple de Chris2div) Pour Sarah je pense qu'il n'y aura pas de souci non plus, c'est développé par un pro. Tout système pas trop mal foutu sait faire n'importe quel type de requête, il n'y a que la barre d'adresse des navigateurs qui soit limité au GET. En fait, ça n'embête que nous, quand on essaye de débugger les API avec des requêtes GET sur le navigateur. Pour cette raison, ça fait longtemps que je n'utilise plus la navigateur pour tester, mais j'ai toujours une connexion sur un Linux dans un coin pour tester les requêtes avec Curl, qui sait absolument tout faire.
jjacques68 Posté(e) le 18 mars 2017 Auteur Signaler Posté(e) le 18 mars 2017 Ok. Mais il me semble que sur les IPX V3 on peut faire que du GET (je crois qu'on en avait déjà parlé toi et moi sur un autre sujet... ) ça sent le remplacement d'IPX un de ces jours ça...
Lazer Posté(e) le 18 mars 2017 Signaler Posté(e) le 18 mars 2017 Ah sur les v3 je ne sais pas. Par contre sur les V4, il y a le GET et le POST, mais il manque le PUT, dont on a besoin si on veut mettre à jour des fake-devices par exemple.... d'où l'emploi de subterfuges en cliquant sur des boutons de VD.
jjacques68 Posté(e) le 19 mars 2017 Auteur Signaler Posté(e) le 19 mars 2017 Pour ce qui est de Sarah, les requêtes sont envoyées en POST je confirme (du moins avec le plugin : Sarah-Plugin-Home-Center de e1000g).
jjacques68 Posté(e) le 19 mars 2017 Auteur Signaler Posté(e) le 19 mars 2017 Je confirme aussi après lecture des notices, l'IPX V3 envoie des requêtes push en GET et rien d'autre. Contrairement a l'IPX V4... Vais devoir changer d'IPX... ça me pendait au nez de toute façon...
jjacques68 Posté(e) le 12 mai 2017 Auteur Signaler Posté(e) le 12 mai 2017 (modifié) @Krikroff @Lazer : J'essaye de transformer cette requête (mise à jour d'un label d'un VD) en V3 de l'API de la HC2 : (qui fonctionne parfaitement) http://admin:pwd@192.168.xx.yy/api/callAction?deviceID=329&name=setProperty&arg1=ui.VG.value&arg2={'VG1':'valeur1', 'VG2':'valeur2'} en version 4... j'essaye toutes les syntaxes possibles, mais sans succès ! http://admin:pwd@192.168.xx.yy/api/devices/329/setProperty/arg1=ui.VG.value&arg2={'VG1':'valeur1', 'VG2':'valeur2'} http://admin:pwd@192.168.xx.yy/api/devices/329/action/arg1=ui.VG.value&arg2={'VG1':'valeur1', 'VG2':'valeur2'} http://admin:pwd@192.168.xx.yy/api/devices/329/action/setProperty/arg1=ui.VG.value&arg2={'VG1':'valeur1', 'VG2':'valeur2'} ... vous avez une idée ? merci d'avance !! Modifié le 15 mai 2017 par jjacques68
Lazer Posté(e) le 12 mai 2017 Signaler Posté(e) le 12 mai 2017 Je vais laisser@Krikroff ou@Steven répondre, je ne crois pas avoir de mise à jour de label via l'API chez moi, puisque je n'utilise que des fake Devices.
Steven Posté(e) le 15 mai 2017 Signaler Posté(e) le 15 mai 2017 Perso, j'utilise le mode V3 uniquement.
Nico Posté(e) le 15 mai 2017 Signaler Posté(e) le 15 mai 2017 Parce qu'on peut choisir la version de l'API ? Sinon tu es sur de tes 2 / de suite : api//device
jjacques68 Posté(e) le 15 mai 2017 Auteur Signaler Posté(e) le 15 mai 2017 Ben d,'après ce que j'ai pu comprendre (voir plus haut), oui ! pour les // c'est une erreur lors du copier colé... désolé il est clair que j'ai fais les tests avec un seul / je corrige... merci !
jjacques68 Posté(e) le 15 mai 2017 Auteur Signaler Posté(e) le 15 mai 2017 (modifié) voilà un exemple de différence entre V3&V4 pour allumer une lumière : V3 - http://admin:pwd@192.168.x.y/api/callAction?deviceID=46&name=turnOn V4 - http://admin:pwd@192.168.x.y/api/devices/46/action/turnOn V3 = méthode GET ; V4 = méthode POST. Mais je trouve pas comment modifier un label en V4... (après c'est pas vital non plus...) Pour les tester j'utilise un plugin du navigateur. Modifié le 15 mai 2017 par jjacques68
Messages recommandés