Aller au contenu

Exécuter Et Stopper Une Scène Par Http


oufman

Recommended Posts

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.


Lien vers le commentaire
Partager sur d’autres sites

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 
Lien vers le commentaire
Partager sur d’autres sites

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.1
Host: xxx.xxx.xxx.xxx
Authorization: Basic USER:PASSWORD_ENCODE_EN_BASE64
0x0D0x0A0x0D0x0A

 

Voilou...

Lien vers le commentaire
Partager sur d’autres sites

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
  • Upvote 1
Lien vers le commentaire
Partager sur d’autres sites

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 :)

Lien vers le commentaire
Partager sur d’autres sites

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  ?

Lien vers le commentaire
Partager sur d’autres sites

-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.

Lien vers le commentaire
Partager sur d’autres sites

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
Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

Ceci marche bien pour moi :60: , 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
Lien vers le commentaire
Partager sur d’autres sites

  • 1 month later...

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: 

  1. 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.  :15:

Lien vers le commentaire
Partager sur d’autres sites

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/

Lien vers le commentaire
Partager sur d’autres sites

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 :60:

Lien vers le commentaire
Partager sur d’autres sites

  • 1 month later...

 

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.

Lien vers le commentaire
Partager sur d’autres sites

×
×
  • Créer...