oufman Posté(e) le 10 juin 2014 Signaler Posté(e) le 10 juin 2014 Bonjour à tous, J'ai vu que grâce à l'api de Fibaro on peut stopper et démarrer une scène via une requête HTTP de type : http://user:pass@IP/api/sceneControl?id=IDSCENE&action=start http://user:pass@IP/api/sceneControl?id=IDSCENE&action=stop Sans passer par le LUA, il devrait être possible via un module virtuel d'exécuter l'url via la fonction GET ?! Mais visiblement ça n'as pas l'air de fonctionner... Est-ce que qqun à déjà essayé de lancer l'ordre d'une requête http directement depuis la box elle même ? D'avance merci pour votre retour.
Moicphil Posté(e) le 10 juin 2014 Signaler Posté(e) le 10 juin 2014 J'ai déjà repondu là : http://www.domotique-fibaro.fr/index.php/topic/1282-stopper-une-sc%C3%A8ne-via-une-sc%C3%A8ne-sur-hcl/#entry16342 Mais je remet pour les futures recherches HC2 = Net.FHttp("192.168.X.XXX",80) -- Renseigner l'adresse ip de la HC2 HC2:setBasicAuthentication("admin", "XXXXXXXX") -- Renseigner le login + mot de passe -- Envoi de la commande http : HC2:GET("/api/sceneControl?id=XX&action=start") --Renseigner l'Id de la scène à commander Pour info, voici une liste de commande : Devices: ID = device ID name = action arg1 = (e.g. value dimmer) http://<HC2 ip address>/api/callAction?deviceID=4&name=turnOff http://<HC2 ip address>/api/callAction?deviceID=7&name=setValue&arg1=39 Virtual Devices ID = device ID arg1 = button ID arg2 = slider value (only for slider) http://<HC2 ip address>/api/callAction?deviceID=15&name=pressButton&arg1=2 http://<HC2 ip address>/api/callAction?deviceID=51&name=setSlider&arg1=8&arg2=30 Notification ID = Device (Iphone, e-mail et cetera) arg1 = Notification template http://<HC2 ip address>/api/callActiondeviceID=9&name=sendDefinedPushNotification&arg1=1 Arm/Disarm devices arg1 = 1 - Armed arg1 = 0 - Disarmed http://<HC2 ip address>/api/callAction?deviceID=51&&name=setArmed&arg1=0 Scene ID = SceneID http://<HC2 ip address>/api/sceneControl?id=14&action=start http://<HC2 ip address>/api/sceneControl?id=14&action=stop Get json status from api: http://<HC2 ip address>/api/rooms http://<HC2 ip address>/api/scenes http://<HC2 ip address>/api/devices http://<HC2 ip address>/api/devices?id=316 # Specific value of a device http://<HC2 ip address>/api/virtualDevices http://<HC2 ip address>/api/globalVariables http://<HC2 ip address>/api/weather http://<HC2 ip address>/api/sections http://<HC2 ip address>/api/users http://<HC2 ip address>/api/energy/now-3600/now/single/devices/power/58
oufman Posté(e) le 10 juin 2014 Auteur Signaler Posté(e) le 10 juin 2014 Merci Moicphil pour ta réponse. Mais par contre c'est en LUA non ? Du coup incompatible avec la HCL ? Merci encore pour ton aide.
oufman Posté(e) le 10 juin 2014 Auteur Signaler Posté(e) le 10 juin 2014 Effectivement ça ne joue pas en URL Standard, uniquement en LUA la méthode citée. Il y a surement une possibilité d'exécuter une scène en http en utilisant l'API Fibaro sans passez par du LUA.
Krikroff Posté(e) le 10 juin 2014 Signaler Posté(e) le 10 juin 2014 Toutes les url proposées par Moicphil sont standards . Par exemple: SUR HC2 => http://<HC2 ip address>/api/sceneControl?id=14&action=start SUR HCL => dans un virtual device en mode "string" POST /api/sceneControl?id=14&action=start HTTP/1.1Host: xxx.xxx.xxx.xxxAuthorization: Basic USER:PASSWORD_ENCODE_EN_BASE640x0D0x0A0x0D0x0A Voilou...
Moicphil Posté(e) le 10 juin 2014 Signaler Posté(e) le 10 juin 2014 Pour la Hc Lite...il va falloir encoder le couple user:password au format "Base64" Tu peux utiliser cet encodeur : http://www.base64encode.org/ Une fois ton code obtenu, tu le saisis après "Authorization: Basic" GET /api/sceneControl?id=XX&action=start HTTP/1.1 Host: 192.168.x.xxx Authorization: Basic xxxxxxxxxxxxxxxxxxxxxxx 0x0D0x0A0x0D0x0A 1
oufman Posté(e) le 10 juin 2014 Auteur Signaler Posté(e) le 10 juin 2014 Merci pour vos réponses, mais visiblement ça ne je joue pas... Bon la en ce moment je fait le test sur une HC2 mais le résultat devrait êtres pareil non ? J'ai entré comme indiqué après Autorization : Basic user:password (Encoder avec le site que tu m'as indiqué) Faut-il mettre UTF-8 ou autre en particulier ? Dois-je d'abord encoder l'user puis ensuite le pass et les saisir dans le module virtuel séparé par les 2 points ? Merci encore
Moicphil Posté(e) le 10 juin 2014 Signaler Posté(e) le 10 juin 2014 Il faut encoder l'ensemble user:pass en utf-8 sans oublier les " : " 1
oufman Posté(e) le 10 juin 2014 Auteur Signaler Posté(e) le 10 juin 2014 C'est tout bon ça fonctionne. Merci beaucoup Beaucoup !!!
Moicphil Posté(e) le 10 juin 2014 Signaler Posté(e) le 10 juin 2014 Houla ! La gloire ne me revient pas...je me suis inspiré de ce post, grâce à Krikroff : http://www.domotique-fibaro.fr/index.php/topic/561-rebooter-proprement-sa-hc2/ Mais en tout cas tant mieux si tu as réussi à faire ce que tu souhaites... J'en profite pour faire un appel : -Y'aurait-il quelqu'un pour justement faire un petit tuto avec exemples sur les requetes Http (Get / Post / Json ) sur HC2 et HC Lite ?
oufman Posté(e) le 10 juin 2014 Auteur Signaler Posté(e) le 10 juin 2014 Ouais c'est franchement top. Du coup on arrive à faire quelques fonctions pas trop mal avec la HCL
Steven Posté(e) le 10 juin 2014 Signaler Posté(e) le 10 juin 2014 -Y'aurait-il quelqu'un pour justement faire un petit tuto avec exemples sur les requetes Http (Get / Post / Json ) sur HC2 et HC Lite ? Heuuuu ... pas moi Mais au moins, j'aurais répondu à ton appel.
nicocalv Posté(e) le 10 juin 2014 Signaler Posté(e) le 10 juin 2014 Bonjour a tous, Je souhaite utiliser cette procédure pour créer une télécommande pour la Freebox avec mon HCL. J'ai ce lien qui fonctionne en HTTP : http://hd2.freebox.fr/pub/remote_control?code=123456789&key=home Je l'ai modifié comme vu plus haut : POST /pub/remote_control?code=123456789&key=home HTTP/1.1 Host: hd2.freebox.fr Mais ça ne fonctionne pas. Avez vous une idée ? Niko
oufman Posté(e) le 10 juin 2014 Auteur Signaler Posté(e) le 10 juin 2014 Salut, utilise plutôt GET au lieu de POST
nicocalv Posté(e) le 10 juin 2014 Signaler Posté(e) le 10 juin 2014 Salut, Merci de ta réponse, mais cela ne fonctionne pas. Comment vérifier que l'info est bien partie ?
Krikroff Posté(e) le 10 juin 2014 Signaler Posté(e) le 10 juin 2014 Tu devrais utiliser l'adresse IP de ton freeplayer et bien préciser cette adresse et le port 80 dans les paramètres de ton module virtuel ... Envoyé de mon iPhone àl'aide de Tapatalk
Krikroff Posté(e) le 10 juin 2014 Signaler Posté(e) le 10 juin 2014 Ceci marche bien pour moi , voici le MUTE - IP Adresse: hd1.freebox.fr - Port: 80 GET /pub/remote_control?code=00000000&key=mute HTTP/1.1 Host: hd1.freebox.fr 0x0D0x0A0x0D0x0A
nicocalv Posté(e) le 10 juin 2014 Signaler Posté(e) le 10 juin 2014 super mille merci, ça fonctionne parfaitement. Du coup il y a plus de chose à faire avec cette HCL.
gnek35 Posté(e) le 30 juillet 2014 Signaler Posté(e) le 30 juillet 2014 Bonjour à tous, je reviens sur ce sujet car j'arrive sans problème avec une HCL à commander, via la commande GET, des éléments extérieurs (cam,PAW....) mais par contre je n'arrive pas à lancer une scene par un device virtuel avec cette même commande et en reprenant ceci: GET /api/sceneControl?id=20&action=start HTTP/1.1 Host: 192.168.0.250 Authorization: Basic YWRtaW46xxxxxxxxxxxxxx 0x0D0x0A0x0D0x0A rien ne se passe ? Si je lance la commande dans une page web : http://192.168.0.250/api/sceneControl?id=20&action=start cela fonctionne sans problème Du coup je veux bien un petit coup de main.
Moicphil Posté(e) le 30 juillet 2014 Signaler Posté(e) le 30 juillet 2014 J'ai édité ton précédent post et caché la fin, sinon ton mot de passe serait facile à retrouver avec decode64 Je viens de faire un essais et j'arrive bien à exécuter une scène... Vous êtes 2 à avoir le même pb : >>http://www.domotique-fibaro.fr/index.php/topic/1613-vitual-device/
Tomzebest Posté(e) le 31 juillet 2014 Signaler Posté(e) le 31 juillet 2014 Et bien ca àl'air vraiment bien de pouvoir contrôler des modules avec la fonction string mais je dois être le 3eme chez qui ça ne fonctionne pas, j'ai tout suivi àla lettre et même sur le post de Phil mais ça ne veut rien savoir, alors qu'en http le code fonctionne et je ne pense pas me tromper dans l'identification avec la page qui convertit en 64bit... Bon c'est pas bien grave c'était juste pour un test pour une réponse àun message d'un forumeur, que j'ai redirigé vers cette page du coup. Peut être aura t il plus de chance que moi. Je retesterai surement si la version 4.0 arrive un jour et sans bug
couillerot Posté(e) le 4 août 2014 Signaler Posté(e) le 4 août 2014 idem, rien ne passe chez moi non plus! j'ai essayé de contourner le problème mais il n'y a rien àfaire...
Berale64 Posté(e) le 25 septembre 2014 Signaler Posté(e) le 25 septembre 2014 J'en profite pour faire un appel : -Y'aurait-il quelqu'un pour justement faire un petit tuto avec exemples sur les requetes Http (Get / Post / Json ) sur HC2 et HC Lite ? J'arrive un peu après la bataille, mais y a-t-il eu une suite à cette suggestion ô combien intéressante.
Messages recommandés