" /> mars 2012 - Mon para-monde
Flux RSS

lundi 19 mars 2012

ELV Max! Il est temps de passer commande

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 :

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.

dimanche 18 mars 2012

Quelques ordres S: (S12,S20,S21,S22,S23)

J'ai été très occupé ces derniers temps, pas eu trop le temps d'écrire les articles sur d'autres fonctions S:(end) de l'ELV Max!

En voici quelques unes :

ConfigValve (Commande 0x12)

00     00
01     Bitfield : 76543210
                       10 = broadcast (?)
02     12    COMMANDE
03     00
04     00
05     00
06     AABBCC Adresse d'émission
07     ..
08     ..
09     XX     RoomId
10     XX     Configuration du Boost (1)
11     XX     Configuration du cycle de détartrage (2)
12     XX     Position Max de la valve
13     XX     Position Min de la valve

(1) La configuration du Boost se fait sur un octet sous forme de 2 champs de bits :

  • 3 bits pour la durée du Boost en tranche de 5min
  • 5 bits pour l'ouverture de valve en tranche de 5%

(2) Le détartrage se règle lui aussi sur un champ de 8 bits :

  • 3bits pour le jour (0=Samedi, 1=Dimanche... 6=Vendredi)
  • 5bits pour l'heure de mise en route par tranche de 30 minutes

AddDirectLinkFromTo (0x20) et RemoveDirectLinkFromTo (0x21)

00     00
01     Bitfield : 76543210
                       10 = broadcast (?)
02     20/21    COMMANDE
03     00
04     00
05     00
06     AABBCC Adresse d'émission du périphérique référence
07     ..
08     ..
09     AABBCC Adresse d'émission du périphérique de pilotage
10     ..
11     ..
12     XX Type de périphérique

setGroupRFaddr (0x22) et removeGroupRFaddr (0x23)

00     00
01     Bitfield : 76543210
                       10 = broadcast (?)
02     22/23    COMMANDE
03     00
04     00
05     00
06     AABBCC Adresse d'émission du périphérique à ajouter ou retirer de la pièce
07     ..
08     ..
09     XX     RoomId

On a pas fini, il reste encore quelques commandes s:, en particulier le réglage des programmes journaliers (mode 0x10) et le changement de modes (mode 0x40) qui sont incontournables et un peu velus.