Excusez la blague à 2 balles, il n'est bien sûr pas question d'acheter quelque chose mais de trouver les commandes que le cube peut recevoir et les réponses qu'il peut fournir.
On a déjà vu quelques commandes :
- "a:" qui remet le cube dans un état vide
- "c:" qui interroge le cube sur la config d'un périphérique.
- "l:" qui demande le renvoi des données L:ive
- "s:" qui envoie des commandes de configuration aux périphériques
- "s: mode 0x11" pour le réglage des températures par défaut
- "s: mode 0x12" pour le réglage des caractéristiques de la valve
- "s: modes 0x20 et 0x21" pour le pairage de périphériques (thermostat mural et valve par exemple)
- "s: modes 0x22 et 0x23" pour l'installation dans les groupes/pièces
Le sniffing du réseau et le classique essai/erreur permettent d'en trouver quelques autres :
- "m:" qui modifie les données de la M:aison
- "z:" qui est envoyé avant un groupe de commandes
- "n:" qui met le cube en mode apprentissage
- "x:" annule une commande en cours de type "n:"
- "d:" et "e:" qui décodent et encodent une chaine binaire (quel algorithme ? mystère)
Comme les lignes reçues, la macrosyntaxe est <lettre de commande>:<enchaînement de champs séparés par des virgules>.
Dans les champs, les données sont soit codées en hexadécimal ou en texte brut (p. exemple : "z:1e,G,02" ) soit encodées partiellement ou totalement en base64 (p. exemple : "s:AAAAiAAAAAPx4AAI=" )
Toutes les commandes que je trouverai seront rajoutées ici au fur et à mesure avec des liens vers chaque description.