Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
protocole_json [2011/01/17 17:34] admin créée |
protocole_json [2014/04/23 13:50] admin [poll_listen] |
||
---|---|---|---|
Line 15: | Line 15: | ||
https:// | 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 ===== | ===== API Calaos Network ===== | ||
==== get_ip ==== | ==== get_ip ==== | ||
- | Cette commande permet le login et la récupération de l' | + | Cette commande permet le login et la récupération de l' |
+ | |||
+ | https:// | ||
+ | |||
+ | === 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 === | === Exemple === | ||
Line 122: | Line 160: | ||
" | " | ||
" | " | ||
+ | " | ||
+ | " | ||
" | " | ||
" | " | ||
Line 136: | Line 176: | ||
} | } | ||
] | ] | ||
+ | } | ||
+ | | ||
+ | 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: | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | } | ||
+ | |||
+ | On peut rajouter le paramètre //from// et //to// qui permettent de spécifier une partie de la playlist a charger. Pratique en cas d' | ||
+ | |||
+ | 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", | ||
+ | " | ||
+ | " | ||
+ | ] | ||
+ | } | ||
+ | |||
+ | ==== config ==== | ||
+ | |||
+ | Cette commande permet de lire/ecrire la config au travers du protocole json. | ||
+ | |||
+ | === get === | ||
+ | |||
+ | Pour recuperer la config il faut faire: | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | } | ||
+ | |||
+ | On recevra en réponse les fichier xml dans le json | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | } | ||
+ | } | ||
+ | |||
+ | === put === | ||
+ | |||
+ | Pour recuperer la config il faut faire: | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | } | ||
+ | } | ||
+ | |||
+ | Réponse: | ||
+ | { | ||
+ | " | ||
} | } |