mercredi 27 juin 2012

Introduction aux réseaux Z-Wave

Dans un réseau ZWave on peut distinguer 3 types de devices :

  •           Les Contrôleurs (Box Z-wave, Stick USB, télécommande etc…)
  •           Les Devices qui font un report (Capteurs détecteurs, contact,  etc…)
  •           Les Devices qui sont contrôlés (Actionneurs, Lampes, Dimmer, etc…)

 Il n’y a qu’un seul contrôleur primaire par réseau, c’est lui qui va géré la partie ‘inclusion’ des autres composants dans le réseau. Par contre on peut ajouter des contrôleurs secondaires. c'est le cas par exemple des télécommandes.
Les Devices de type contrôleur ont un ‘Home ID’ défini en usine et unique. Lors de l’inclusion d’un autre device le contrôleur primaire va donner son home ID aux autres composants pour signaler qu’il font maintenant partis du même réseau. (Le home Id est défini sur 4 octets (32 bits)
Lors de l’inclusion le Node ID est aussi défini (j’ai pas encore bien compris le mécanisme pour le moment) en tous cas c’est un paramètre défini sur 1 octet (8 bits). Il permet d’identifier le Device sur le réseau pour ensuite définir la route à utiliser pour acheminer la commande d’un Device A vers un Device B. 
Certains devices peuvent servir de répéteur pour acheminer l’ordre au Device les plus éloigné du contrôleur (La gestion et l’optimisation des routes me semble assez complexe pour l’instant)

Ensuite, afin de garantir la compatibilité avec le protocôle Z-wave et donc une compatibilité entre les produits de différents fabricants chaque Device utilise des Classes.

Les Devices Classes (3 types)
-          Basic Device classe
-          Generique Device classe
-          Specifique Device classe

Tous les devices supportent au moins la classe Basic, mais certains devices ont besoin de la classe Generique en plus pour offrir certaines fonctions classique et enfin les Devices les plus complexes ont aussi besoin de la classe Specifique.
La classe Basic sert principalement à définir si le Device est SLAVE ou ROUTING-SLAVE (en gros s’il est routing-slave il pourra servir de répéteur pour les devices les plus éloignés)

Dans la classe générique on trouve les fonctions :
• General controller (GENERIC_CONTROLLER)
• Static controller (STATIC_CONTROLLER)
• Binary switch (BINARY_SWITCH)
• Multi level switch (MULTI_LEVEL_SWITCH)
• Binary sensor (BINARY_SENSOR)
• Multilevel-Sensor (MULTILEVEL_SENSOR)
• Meter (METER)
• Input controller (ENTRY_CONTROL)
• Thermostat (THERMOSTAT)
• Window Venetian blind controller (WINDOW_COVERING)

Enfin voici quelques exemples de classes specifiques :
 • Setback Thermostat (SETBACK_THERMOSTAT) is a specific device class of the generic device class “Thermostat“;
• Multi-level Power Switch (MULTILEVEL_POWER_SWITCH) is a specific device class of the generic device class Multilevel Switch;

Ensuite il y a les commandes classes :
Par exemple pour la classe binary switch il y a trois commandes.
-          • Set : permet au contrôleur d’envoyer une commande ON ou OFF
-          • Get : permet au contrôleur de demander le retour d'état au Module
-         • Report permet au module de renvoyer son état en réponse à la demande précédente

Chaque Device Classe a donc plus ou moins de Commande classe associé.

Voila ce que je peu vous dire du protocole Z-Wave pour le moment.

Si vous souhaitez développer votre propre application Z-Wave je vous recommande l'utilisation de Open Z-Wave. 

Aucun commentaire:

Enregistrer un commentaire