====== Protocole Client/Serveur ====== ===== Introduction ===== La centrale Calaos permet le contrôle et la récupération d'information de la maison au travers d'un protocole en ligne de commande simple par TCP/IP. La centrale permet les connections sur un port spécifique et peut être utilisé pour le débugage avec l'utilitaire Telnet. La centrale écoute sur le port 4456. 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 (, soit le caractère ASCII 10 ou 0x0A). Le serveur accèpte , , 0x00 ou n'importe quel combinaison des trois. Il répondra avec ce qui a été envoyé dans la requête. Pour les chaines de caractères, la centrale utilise l'encodage UTF-8 et les paramètres des requêtes sont encodés grâce au principe d'url encoding ([[http://en.wikipedia.org/wiki/Percent-encoding|Percent-encoding]]) ===== Format des commandes ===== Le format des commandes, requêtes et réponses est le suivant: ... à sont les paramètres envoyés ou reçus. **Note:** Chaque paramètre doit être encodé suivant le procédé d'URL encoding ([[http://en.wikipedia.org/wiki/Percent-encoding|Percent-encoding]], les espaces sont remplacés par %20). ===== Liste des commandes ===== ==== Commande de base ==== === Login === login La commande //login// permet de s'authentifier sur la centrale. Les paramètres //user// et //password// doivent être url-encodé comme pour n'importe quel paramètre. Si l'authentification réussi, le serveur renvoie "ok" à la place du mot de passe. Si elle échoue, le serveur se déconnecte. Exemples: Requête : "login theuser thepassword" Réponse : "login theuser ok" Requête : "login theuser mauvaispassword" Réponse : fermeture de la connection === Version === version Cette commande renvoie la version du serveur. Exemple: Requête : "version ?" Réponse : "version 1.23" === Save === save