Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
protocole_json [2011/04/26 16:32] admin [get_home] |
— (current) | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ====== Protocole pour webservice Calaos ====== | ||
| - | |||
| - | La centrale propose une protocole de communication grâce à des requêtes HTTP. Les données échangés sont au format [[http:// | ||
| - | |||
| - | Le Calaos Network propose également ce type de service, en particulier pour les applications clientes et l' | ||
| - | |||
| - | ===== Détails des requêtes ===== | ||
| - | |||
| - | Les requêtes se font en HTTPS soit sur la centrale directement, | ||
| - | |||
| - | https:// | ||
| - | | ||
| - | Les requêtes sur la centrale se font grâce à l'url suivante: | ||
| - | |||
| - | https:// | ||
| - | | ||
| - | ===== Effectuer des tests ===== | ||
| - | |||
| - | Il est possible d' | ||
| - | |||
| - | ==== Exemple ==== | ||
| - | |||
| - | Les données à envoyer sont au format JSON dans le fichier // | ||
| - | |||
| - | wget --no-check-certificate --post-file query.json --output-document result.json https:// | ||
| - | |||
| - | ===== API Calaos Network ===== | ||
| - | |||
| - | ==== get_ip ==== | ||
| - | |||
| - | Cette commande permet le login et la récupération de l' | ||
| - | |||
| - | === Exemple === | ||
| - | |||
| - | Données JSON à envoyer: | ||
| - | { | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | } | ||
| - | |||
| - | Réponse: | ||
| - | { | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | } | ||
| - | |||
| - | La réponse contient 2 adresses IP, l' | ||
| - | |||
| - | Calaos Network nous donne également le paramètre //at_home// qui est un booléen qui définit si on est dans le même réseau que la centrale ou à l' | ||
| - | |||
| - | ===== API de la centrale ===== | ||
| - | |||
| - | ==== get_home ==== | ||
| - | |||
| - | Cette commande permet de récupérer la configuration complète de la maison. | ||
| - | |||
| - | === Exemple === | ||
| - | |||
| - | Données JSON à envoyer: | ||
| - | { | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | } | ||
| - | |||
| - | Réponse: | ||
| - | { | ||
| - | " | ||
| - | { | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | { | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | }, | ||
| - | { | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | }, | ||
| - | { | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | } | ||
| - | ], | ||
| - | " | ||
| - | { | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | }, | ||
| - | { | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | }, | ||
| - | { | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | }, | ||
| - | { | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | } | ||
| - | ] | ||
| - | } | ||
| - | } | ||
| - | ], | ||
| - | " | ||
| - | { | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | } | ||
| - | ], | ||
| - | " | ||
| - | { | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | }, | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | } | ||
| - | ] | ||
| - | } | ||
| - | | ||
| - | La réponse nous donne 3 tableaux principaux qui reflètent la configuration de la maison [" | ||
| - | |||
| - | ==== get_state ==== | ||
| - | |||
| - | Cette commande permet de récupérer l’état d'une ou plusieurs entrée/ | ||
| - | |||
| - | === Exemple === | ||
| - | |||
| - | Données JSON à envoyer: | ||
| - | { | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | } | ||
| - | |||
| - | Réponse: | ||
| - | { | ||
| - | " | ||
| - | " | ||
| - | }, | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | } | ||
| - | " | ||
| - | { | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | } | ||
| - | ] | ||
| - | } | ||
| - | |||
| - | La réponse contient la liste des entrées/ | ||
| - | |||
| - | ==== set_state ==== | ||
| - | |||
| - | Cette commande permet de changer l’état d'une ou plusieurs entrée/ | ||
| - | |||
| - | === Exemple === | ||
| - | |||
| - | Données JSON à envoyer: | ||
| - | { | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | } | ||
| - | |||
| - | Réponse: | ||
| - | { | ||
| - | " | ||
| - | " | ||
| - | } | ||
| - | |||
| - | De la même manière on peut force la valeur d'une entrée avec | ||
| - | " | ||
| - | | ||
| - | On peut également donner des commandes à une zoner de musique. Les commandes sont les même que celle du [[protocole_tcp|protocole TCP]]. | ||
| - | |||
| - | === Exemple === | ||
| - | |||
| - | Données JSON à envoyer: | ||
| - | { | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | } | ||
| - | |||
| - | Ou encore donner des commandes à une caméra motorisé. Les commandes sont les même que celle du [[protocole_tcp|protocole TCP]]. | ||
| - | |||
| - | === Exemple === | ||
| - | |||
| - | Données JSON à envoyer: | ||
| - | { | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | } | ||
| - | |||
| - | ==== get_playlist ==== | ||
| - | |||
| - | Cette commande permet de récupérer la playliste courante d'une zone de musique. | ||
| - | |||
| - | === Exemple === | ||
| - | |||
| - | Données JSON à envoyer: | ||
| - | { | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | } | ||
| - | |||
| - | Réponse: | ||
| - | { | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | { | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | }, | ||
| - | { | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | }, | ||
| - | { | ||
| - | " | ||
| - | " | ||
| - | }, | ||
| - | { | ||
| - | " | ||
| - | " | ||
| - | }, | ||
| - | { | ||
| - | " | ||
| - | " | ||
| - | } | ||
| - | ] | ||
| - | } | ||
| - | |||
| - | La réponse contient la liste des pistes avec les informations complémentaire si elles sont diponibles (artiste, album, titre, ...). | ||
| - | |||
| - | ==== poll_listen ==== | ||
| - | |||
| - | Cette commande permet de faire du polling pour récupérer les changements d' | ||
| - | |||
| - | === Enregistrement === | ||
| - | |||
| - | Pour s' | ||
| - | { | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | } | ||
| - | |||
| - | On recevra en réponse l' | ||
| - | { | ||
| - | " | ||
| - | } | ||
| - | |||
| - | Cette identifiant unique est valable tant qu'on l' | ||
| - | |||
| - | === Suppression === | ||
| - | |||
| - | A la fin de l' | ||
| - | |||
| - | Données JSON à envoyer: | ||
| - | { | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | } | ||
| - | |||
| - | Réponse: | ||
| - | { | ||
| - | " | ||
| - | } | ||
| - | |||
| - | === Récupération des évènements === | ||
| - | |||
| - | Une fois l' | ||
| - | |||
| - | Données JSON à envoyer: | ||
| - | { | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | } | ||
| - | |||
| - | Réponse: | ||
| - | { | ||
| - | " | ||
| - | " | ||
| - | "input input_0 state%3Atrue", | ||
| - | " | ||
| - | " | ||
| - | ] | ||
| - | } | ||