Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
protocole_tcp [2011/01/17 17:04] admin créée |
— (current) | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Protocole Client/ | ||
- | ===== Introduction ===== | ||
- | |||
- | La centrale Calaos permet le contrôle et la récupération d' | ||
- | |||
- | Le protocole est relativement simple et chaque commande reçu par la centrale est renvoyé en retour. Si une réponse est attendu, elle sera ajouté à la requête. Le séparateur de fin de ligne est le retour chariot (< | ||
- | |||
- | ===== Format des commandes ===== | ||
- | |||
- | Le format des commandes, requêtes et réponses est le suivant: | ||
- | |||
- | '''< | ||
- | |||
- | < | ||
- | |||
- | '' | ||
- | |||
- | == Liste des commandes == | ||
- | |||
- | ''' | ||
- | |||
- | La commande '' | ||
- | |||
- | Exemples: | ||
- | Requête : "login theuser thepassword< | ||
- | Réponse : "login theuser ok< | ||
- | |||
- | Requête : "login theuser mauvaispassword< | ||
- | Réponse : fermeture de la connection[[BR]] | ||
- | |||
- | ---- | ||
- | |||
- | ''' | ||
- | |||
- | Cette commande renvoie la version du serveur. | ||
- | |||
- | Exemple: | ||
- | Requête : " | ||
- | Réponse : " | ||
- | |||
- | ---- | ||
- | |||
- | ''' | ||
- | |||
- | Cette commande sauvegarde la configuration dans la mémoire et/ou dans la compact flash. | ||
- | |||
- | Exemple: | ||
- | Requête : "save default< | ||
- | Réponse : "save ok< | ||
- | Requête : " | ||
- | Réponse : "save ok< | ||
- | |||
- | ---- | ||
- | |||
- | ---- | ||
- | |||
- | ''' | ||
- | |||
- | Cette commande permet d' | ||
- | |||
- | Exemple: | ||
- | Requête : " | ||
- | Requête : " | ||
- | Requête : " | ||
- | |||
- | ---- | ||
- | |||
- | ''' | ||
- | |||
- | Active le ntp et règle le fuseau horaire. | ||
- | |||
- | Exemple: | ||
- | Requête : " | ||
- | Réponse : " | ||
- | |||
- | |||
- | ---- | ||
- | |||
- | ''' | ||
- | |||
- | Désactive le ntp et règle l' | ||
- | hh: heures | ||
- | mm: minutes | ||
- | ss: secondes | ||
- | |||
- | JJ: jour | ||
- | MM: mois | ||
- | YYYY: années | ||
- | |||
- | Exemple: | ||
- | Requête : " | ||
- | Réponse : " | ||
- | |||
- | ---- | ||
- | |||
- | ''' | ||
- | |||
- | Cette commande permet de demander la mise à jour du firmware | ||
- | |||
- | Exemple: | ||
- | Requête : " | ||
- | |||
- | ---- | ||
- | |||
- | ''' | ||
- | |||
- | Cette commande mets la connexion en mode d' | ||
- | |||
- | Exemple: | ||
- | Requête : " | ||
- | |||
- | |||
- | ---- | ||
- | |||
- | ''' | ||
- | |||
- | La commande '' | ||
- | |||
- | Exemple: | ||
- | Requête : " | ||
- | Réponse : " | ||
- | Requête : " | ||
- | Réponse : " | ||
- | |||
- | '' | ||
- | Requête : " | ||
- | Réponse : " | ||
- | Requête : " | ||
- | Réponse : " | ||
- | Requête : " | ||
- | Réponse : " | ||
- | |||
- | '' | ||
- | Requête : " | ||
- | Réponse : " | ||
- | Requête : " | ||
- | Réponse : " | ||
- | |||
- | '' | ||
- | |||
- | ---- | ||
- | | ||
- | ''' | ||
- | |||
- | La commande '' | ||
- | |||
- | '' | ||
- | |||
- | Exemple: | ||
- | Requête : "home ?< | ||
- | Réponse : "home salon:2 cuisine:1 sdb:1 chambre:2 chambre_parent: | ||
- | Requête : "home get salon< | ||
- | Réponse : "home count:2 0: | ||
- | |||
- | ---- | ||
- | |||
- | ''' | ||
- | |||
- | La commande '' | ||
- | |||
- | Exemple: | ||
- | Requête : "room salon ?< | ||
- | Réponse : "room salon: | ||
- | Requête : "room salon get 0< | ||
- | Réponse : "room salon:0 name:salon1 hits:99 input:in1 input:in2 output:out1 input:in45 output: | ||
- | Requête : "room salon delete 0< | ||
- | Réponse : "room salon delete ok< | ||
- | |||
- | ---- | ||
- | |||
- | ''' | ||
- | |||
- | La commande '' | ||
- | |||
- | '' | ||
- | |||
- | Exemple: | ||
- | Requête : "room get 0< | ||
- | Réponse : "room id:0 input:in1 input:in2 output:out1 input:in45 output: | ||
- | |||
- | |||
- | ---- | ||
- | |||
- | ''' | ||
- | |||
- | Cette commande permet de récupérer les informations concernant la pièce de nom " | ||
- | |||
- | Exemple: | ||
- | Requête : "room chambre get chambre_parent" | ||
- | Réponse : "room id:0 input:in1 input:in2 output:out1 input:in45 output: | ||
- | |||
- | ---- | ||
- | |||
- | ''' | ||
- | |||
- | La commande '' | ||
- | |||
- | '' | ||
- | |||
- | Exemple: | ||
- | Requête : "room salon set 0 name Chambre3< | ||
- | Réponse : "room salon set 0 name ok< | ||
- | Requête : "room salon set 0 type chambre< | ||
- | Réponse : "room salon set 0 type ok< | ||
- | Requête : "room chambre set 0 hits 56< | ||
- | Réponse : "room chambre set 0 hits ok< | ||
- | Requête : "room add chambre Chambre1< | ||
- | Réponse : "room add ok< | ||
- | |||
- | ---- | ||
- | |||
- | ''' | ||
- | |||
- | La commande '' | ||
- | |||
- | Exemple: | ||
- | Requête : "room salon 0 create input type: | ||
- | Réponse : "room salon 0 create ok< | ||
- | Requête : "room salon 0 create camera name: | ||
- | Réponse : "room salon 0 create ok< | ||
- | |||
- | ---- | ||
- | |||
- | ''' | ||
- | |||
- | Permet de récuperer les informations d'une entrée, ou de forcer une entrée (pour activer un scénario par exemple) | ||
- | |||
- | Exemple: | ||
- | Requête : "input id1 get< | ||
- | Réponse : "input id:id1 name: | ||
- | Requête : "input id1 set true< | ||
- | Réponse : "input id1 set ok" | ||
- | Requête : "input id1 delete< | ||
- | Réponse : "input id1 ok" | ||
- | Requête : "input id1 params?< | ||
- | Réponse : "input name:truc id:id1 var:3 ip: | ||
- | Requête : "input id1 set_param name bidule< | ||
- | Réponse : "input id1 set_name name ok" | ||
- | Requête : "input id1 delete_param name< | ||
- | Réponse : "input id1 delete_param ok" | ||
- | Requête : "input plage1 plage get< | ||
- | Réponse : "input plage1 1: | ||
- | Requête : "input plage1 plage delete 1 0<LF> à utiliser uniquement pour les entrées de type InPlageHoraire" | ||
- | Réponse : "input plage1 plage delete ok< | ||
- | Requête : "input plage1 plage set 1 0 12:00:00 14: | ||
- | Réponse : "input plage1 plage set ok< | ||
- | Requête : "input plage1 plage add 1 12:00:00 14: | ||
- | Réponse : "input plage1 plage add ok< | ||
- | Requête : "input list< | ||
- | Réponse : "input id2 in3 scenar4< | ||
- | |||
- | ---- | ||
- | |||
- | ''' | ||
- | |||
- | Permet de récuperer les informations d'une sortie, ou de forcer une sortie (pour activer/ | ||
- | |||
- | Exemple: | ||
- | Requête : " | ||
- | Réponse : " | ||
- | Requête : " | ||
- | Réponse : " | ||
- | Requête : " | ||
- | Réponse : " | ||
- | Requête : " | ||
- | Réponse : " | ||
- | Requête : " | ||
- | Réponse : " | ||
- | Requête : " | ||
- | Réponse : " | ||
- | Requête : " | ||
- | Réponse : " | ||
- | Requête : " | ||
- | Réponse : " | ||
- | |||
- | ---- | ||
- | |||
- | ''' | ||
- | |||
- | Permet de gérer les télécommandes/ | ||
- | |||
- | Exemple: | ||
- | Requête : "ir remote ?< | ||
- | Réponse : "ir remote 2< | ||
- | Requête : "ir getremotes< | ||
- | Réponse : "ir remote: | ||
- | Requête : "ir getcode 0<LF> Récupère les codes de la télécommande 0" | ||
- | Réponse : "ir remote: | ||
- | Requête : "ir sendcode remote_test1: | ||
- | Réponse : "ir sendcode ok< | ||
- | Requête : "ir addremote remote_test5< | ||
- | Réponse : "ir addremote ok< | ||
- | Requête : "ir delremote remote_test1< | ||
- | Réponse : "ir delremote ok< | ||
- | Requête : "ir learncode remote_test1: | ||
- | Réponse : "ir learncode ok< | ||
- | Requête : "ir delcode remote_test1: | ||
- | Réponse : "ir delcode ok< | ||
- | |||
- | |||
- | ---- | ||
- | |||
- | ''' | ||
- | |||
- | Permet de gérer les règles. | ||
- | |||
- | Exemple: | ||
- | Requête : "rules ?< | ||
- | Réponse : "rules light:2 volet: | ||
- | Requête : "rules light get 0 condition< | ||
- | Réponse : "rules type:light name: | ||
- | Requête : "rules light get 0 action< | ||
- | Réponse : "rules type:light name: | ||
- | Requête : "rules light set 0 condition 0 id:id6 oper:!= val:false var_val:< | ||
- | Réponse : "rules light set 0 condition 0 ok< | ||
- | Requête : "rules light set 0 action 0 id:id8 val: | ||
- | Réponse : "rules light set 0 action 0 ok< | ||
- | Requête : "rules light delete 0 condition 0< | ||
- | Réponse : "rules light delete 0 condition 0 ok< | ||
- | Requête : "rules light delete 0 action 0< | ||
- | Réponse : "rules light delete 0 action 0 ok< | ||
- | Requête : "rules light delete 0< | ||
- | Réponse : "rules light delete ok< | ||
- | Requête : "rules add light Regle 0:iid:id2 0: | ||
- | Réponse : "rules add ok< | ||
- | Requête : "rules light add 0 condition id:id2 oper:true val:true var_val: | ||
- | Réponse : "rules light add ok< | ||
- | Requête : "rules light add 0 action id:id2 val: | ||
- | Réponse : "rules light add ok< | ||
- | |||
- | |||
- | ---- | ||
- | |||
- | ''' | ||
- | |||
- | La commande '' | ||
- | |||
- | Exemple: | ||
- | Requête : "audio ?< | ||
- | Réponse : "audio 2< | ||
- | Requête : "audio get 0< | ||
- | Réponse : "audio 0 id:audio0 name: | ||
- | |||
- | Requête : "audio 0 play< | ||
- | Réponse : "audio 0 ok< | ||
- | Requête : "audio 0 pause< | ||
- | Réponse : "audio 0 ok< | ||
- | Requête : "audio 0 stop< | ||
- | Réponse : "audio 0 ok< | ||
- | Requête : "audio 0 next< | ||
- | Réponse : "audio 0 ok< | ||
- | Requête : "audio 0 previous< | ||
- | Réponse : "audio 0 ok< | ||
- | Requête : "audio 0 off< | ||
- | Réponse : "audio 0 ok< | ||
- | Requête : "audio 0 on< | ||
- | Réponse : "audio 0 ok< | ||
- | Requête : "audio 0 volume?< | ||
- | Réponse : "audio 0 volume: | ||
- | Requête : "audio 0 volume 80< | ||
- | Réponse : "audio 0 volume ok< | ||
- | Requête : "audio 0 songinfo?< | ||
- | Réponse : "audio 0 title: | ||
- | Requête : "audio 0 cover?< | ||
- | Réponse : "audio 0 cover: | ||
- | Requête : "audio 0 cover 456< | ||
- | Réponse : "audio 0 cover http:// | ||
- | Requête : "audio 0 time?< | ||
- | Réponse : "audio 0 time: | ||
- | Requête : "audio 0 time 15.65< | ||
- | Réponse : "audio 0 time ok< | ||
- | Requête : "audio 0 status?< | ||
- | Réponse : "audio 0 status: | ||
- | Requête : "audio stop all< | ||
- | Réponse : "audio stop ok< | ||
- | |||
- | Commandes pour la playlist: | ||
- | Requête : "audio 0 playlist size?< | ||
- | Réponse : "audio 0 playlist 25< | ||
- | Requête : "audio 0 playlist current?< | ||
- | Réponse : "audio 0 playlist 5< | ||
- | Requête : "audio 0 playlist 13 getitem?< | ||
- | Réponse : "audio 0 playlist item:13 title: | ||
- | Requête : "audio 0 playlist 13 cover?< | ||
- | Réponse : "audio 0 playlist 13 cover: | ||
- | Requête : "audio 0 playlist 13 moveup< | ||
- | Réponse : "audio 0 playlist 13 ok< | ||
- | Requête : "audio 0 playlist 13 movedown< | ||
- | Réponse : "audio 0 playlist 13 ok< | ||
- | Requête : "audio 0 playlist 13 delete< | ||
- | Réponse : "audio 0 playlist 13 ok< | ||
- | Requête : "audio 0 playlist 13 play< | ||
- | Réponse : "audio 0 playlist 13 ok< | ||
- | Requête : "audio 0 playlist clear< | ||
- | Réponse : "audio 0 playlist ok< | ||
- | Requête : "audio 0 playlist save Ma_Playlist< | ||
- | Réponse : "audio 0 playlist save ok< | ||
- | Requête : "audio 0 playlist add track_id: | ||
- | Réponse : "audio 0 playlist add ok< | ||
- | Requête : "audio 0 playlist play track_id: | ||
- | Réponse : "audio 0 playlist play ok< | ||
- | |||
- | '' | ||
- | Pour radio_id, il faut passer le type de radio: radio_id: | ||
- | |||
- | Requête : "audio 0 options?< | ||
- | Réponse : "audio 0 options sync:true sleep: | ||
- | Requête : "audio 0 options sync?< | ||
- | Réponse : "audio 0 options sync id:123123 name: | ||
- | Requête : "audio 0 options sync list?< | ||
- | Réponse : "audio 0 options sync id:123123 name: | ||
- | Requête : "audio 0 options sync id: | ||
- | Réponse : "audio 0 options sync ok< | ||
- | Requête : "audio 0 options sync off< | ||
- | Réponse : "audio 0 options sync ok< | ||
- | Requête : "audio 0 options sleep?< | ||
- | Réponse : "audio 0 options sleep: | ||
- | Requête : "audio 0 options sleep: | ||
- | Réponse : "audio 0 options sleep ok< | ||
- | |||
- | Commandes pour la librairie de musique: | ||
- | Requête : "audio 0 database capabilities?< | ||
- | Réponse : "audio 0 database artist:true album:true genre:false year:false music%20folder: | ||
- | Requête : "audio 0 database stats?< | ||
- | Réponse : "audio 0 database artists:563 albums:2033 genres:53 years:123 music%20folder: | ||
- | |||
- | Les requetes de base de donnée se présente sous cette forme: | ||
- | audio <id> database <type de requete> < | ||
- | |||
- | Requête : "audio 0 database albums 0 2< | ||
- | Réponse : "audio 0 database albums id:563 year:1999 name: | ||
- | Requête : "audio 0 database album_titles 0 1 album_id: | ||
- | Réponse : "audio 0 database album_titles id:563 title:Titre year:2000 artist: | ||
- | |||
- | Requête : "audio 0 database artists 0 2< | ||
- | Réponse : "audio 0 database artists id:563 name: | ||
- | Requête : "audio 0 database artist_albums 0 1 artist_id: | ||
- | Réponse : "audio 0 database artist_albums id:563 name:Nom year:2000 artist: | ||
- | |||
- | Requête : "audio 0 database genres 0 2< | ||
- | Réponse : "audio 0 database genres id:563 name:Rock id:123 name: | ||
- | Requête : "audio 0 database genre_artists 0 1 genre_id: | ||
- | Réponse : "audio 0 database genre_artists id:563 name: | ||
- | |||
- | Requête : "audio 0 database years 0 2<LF> renvoie la liste d' | ||
- | Réponse : "audio 0 database years year:1960 year: | ||
- | Requête : "audio 0 database year_albums 0 1 year: | ||
- | Réponse : "audio 0 database year_albums id:563 name:Nom year:2000 artist: | ||
- | |||
- | Requête : "audio 0 database playlists 0 2< | ||
- | Réponse : "audio 0 database playlists id:123 name: | ||
- | Requête : "audio 0 database playlist_titles 0 1 playlist_id: | ||
- | Réponse : "audio 0 database playlist_titles id:563 title:Titre year:2000 artist: | ||
- | |||
- | Requête : "audio 0 database radios 0 2< | ||
- | Réponse : "audio 0 database radios id: | ||
- | Requête : "audio 0 database radio_items 0 2 radio_id: | ||
- | Réponse : "audio 0 database radio_items id:563 name: | ||
- | Requête : "audio 0 database radio_items 0 1 radio_id: | ||
- | Réponse : "audio 0 database radio_items id:5634.1 name: | ||
- | Requête : "audio 0 database radio_items 0 1 radio_id: | ||
- | Réponse : "audio 0 database radio_items id:5634.1 name: | ||
- | |||
- | Requête : "audio 0 database randoms 0 100< | ||
- | Réponse : "audio 0 database randoms id:tracks name: | ||
- | Requête : "audio 0 random random_id: | ||
- | Réponse : "audio 0 random ok< | ||
- | |||
- | Requête : "audio 0 database search 0 2 search_terms: | ||
- | Réponse : "audio 0 database search id:123 type:album name: | ||
- | |||
- | Requête : "audio 0 database music_folder 0 2<LF> renvoie la liste du dossier racine[[BR]] | ||
- | Réponse : "audio 0 database music_folder id:1.1 type:folder name: | ||
- | Requête : "audio 0 database music_folder 0 2 folder_id: | ||
- | Réponse : "audio 0 database music_folder id:2.1 type:folder name: |