Wake Up Interval
Petit sujet sur la classe de commande « Wake Up » soit le cycle de réveil des modules alimentés sur piles.
Classe de commande Wake Up
La Classe de commande Wake Up permet à un module alimenté sur pile ou batterie d’informer un autre module (toujours en train d’écouter) qu’il vient de se réveiller et est prêt à recevoir les commandes en file d’attente.
En général c’est le contrôleur qui a des messages en attente d’être délivrés, comme des paramètres à appliquer ou des groupes d’associations à modifier.
Le réveil du module « Wake Up » peut être programmé via un paramètre système appelé « Wake-up Interval » ou peut être déclenché manuellement par l’utilisateur via une action ou combinaison de touche sur le module.
C’est donc un mécanisme pour diminuer la consommation en énergie sur ces types de modules que j’ai évoqué dans le dernier article sur les piles et batteries.
Mécanisme d’échange
Il s’agit donc d’échange entre deux modules, dont un toujours en écoute.
Le module en veille est soit manuellement réveillé ou arrive à son intervalle de réveil, il envoie une notification de réveil (Wake Up Notification). Cette notification permet au module d’avertir le contrôleur qu’il est éveillé.
Le contrôleur regarde s’il a des messages pour le module, et le cas échéant les transmet au module.
Les deux modules échangent entre eux, puis le module retourne en veille s’il reçoit une notification « Wake up No More Information » ou s’il ne reçoit plus de messages après un délai de 10 secondes d’attente sans nouveau message. La commande « Wake Up No More Information » est utilisée pour aviser l’initiateur d’un « Wake Up Notification » qu’il peut retourner en veille afin de minimiser sa consommation d’énergie.
C’est donc pour cette raison que lorsque vous modifiez des paramètres ou des groupes d’associations sur un module alimenté sur piles, ceux-ci ne seront appliqués qu’au prochain réveil du module.
Configuration
Dans l’onglet système on peut retrouver une série de valeurs en relation avec la classe de commande Wake Up, le numéro de la classe est le 132 (0x84).
- « Wake-up Interval », est le cycle de réveil, soit la fréquence à laquelle le module se réveile afin de s’annoncer au contrôleur et attendre des instructions, cette valeur est paramétrable par vos soins.
- « Minimum Wake-up Interval », ce champ spécifie l’intervalle minimum de réveil pris en charge par le module, cette valeur en lecture seule.
- « MaximumWake-up Interval », ce champ spécifie l’intervalle maximum de réveil pris en charge par le module, cette valeur en lecture seule.
- « Default Wake-up Interval », la valeur intervalle de réveil par défaut, valeur en lecture seule.
- « Wake-up Interval Step », la durée en écoute maximale du module lorsqu’il est réveillé avant le retour automatique en veille s’il n’a pas reçu de notification « Wake Up No More Information », valeur en lecture seule.
Il vous est donc possible d’adapter le Wake-up Interval, via l’onglet Système, la valeur acceptée sera comprise entre les valeurs minimum et maximum.
A noter que les valeurs minimum, maximum, default et step sont disponibles dans l’onglet système seulement pour les modules supportant la classe de commande Wake Up en version 2. En version 1 seule la valeur Wake-up Intervalle sera présente.
On vous rappelle que plus cette valeur est élevée plus vous pouvez réaliser des économies sur vos piles.
Désactiver le réveil programmé
Il est aussi possible pour certain modules de complètement désactiver les réveils programmés. Si le module accepte une valeur de 0, cela signifie que le module ne se réveillera plus de lui-même. Le module pourra seulement être réveillé par une action manuelle de réveil.
Ce mécanisme est utilisé entre autre sur des modules alimentés sur batteries, afin d’espacer les recharges en diminuant au maximum les échanges avec le contrôleur.
Plusieurs télécommandes comme les keyfob ont un cycle de réveil d’origine à 0 et donc ne se réveillent jamais d’elles-mêmes. Elles resteront suite à un redémarrage du réseau ZWave en statut CacheLoad.
Tant qu’elles ne seront pas manuellement réveillées, elles ne progresseront pas dans leur statut d’interview, mais cela n’empêche en rien leur bon fonctionnement, ni celui du reste du réseau. Seul pour les modules secteurs en écoute permanent, l’interview doit être complétée.
Module sur pile passé en secteur
Il existe aussi des modules sur piles qui sont prévus pour fonctionner sur secteur. Il faut toutefois bien consulter leurs documentations afin de bien procéder à une inclusion spécifique.
Je vais donner des exemples de modules pour les lesquels j’ai expérimenté.
Les multi-capteurs de chez Aeotec 4in1 et 6in1 peuvent fonctionner soit sur piles, soit sur secteur. Mais il faut les inclurent dans la configuration souhaitée. On ne peut donc pas inclure un 6in1 avec les piles puis le passer sur secteur. Il conservera ces cycles de réveils et ne sera pas en écoute permanente. Si on souhaite l’utiliser sur secteur, il faudra au moment de l’inclusion qu’il soit aussi alimenté sur secteur. A noter que dans ce cas le module aura toujours une valeur en Wake Up Interval, mais il ne sera plus considéré. L’icône secteur sera affiché à la place de la pile.
Le capteur EZMotion 3in1 permet aussi de fonctionner sur secteur. Dans son cas la procédure est différente, on l’inclue sur pile ou secteur, on modifie le paramètre no 5 pour indiquer qu’il doit toujours rester allumer en le passant à 1, on exclut le module et inclut à nouveau.
Ce paramètre n’est pas réinitialisé lors de l’exclusion.
Plusieurs autres modules permettent d’être alimentés sur secteur, je vous laisse consulter leurs documentations spécifiques.
Conclusion
Il n’y a pas de recommandation de tout passer vos modules avec un intervalle à 0, cet article a seulement pour but de vous expliquer la possibilité et pourquoi on le retrouve entre autre actif sur certains modules.
Je vais essayer de vous faire découvrir les différentes classes de commandes ZWave, sur des petits sujets comme celui-ci.
Vous pouvez vous réveiller…
Merci pour tes petits articles, toujours riche en explication .
Ça permet de démystifier ce zwave 😉
Merci du retour, bonne suite avec le Zwave
Quand un module envoie une info du genre on ouvre la porte ou on passe le badge sur le clavier, celui ci n’en profite pas pour voir si le contrôleur a des infos pour lui?
Non pas obligatoirement. Le lecteur de badge RFid oui suite a un passage d’un badge profite pour faire un wakeup, mais c’est un des rare modules que je connais qui a ce comportement.
Merci Nechry pour ces articles permettant de mieux comprendre le Z-wave.
Par contre, j’ai un module Qubino alimenté en 230v uniquement qui, toutes les 2 minutes, se réveille (Node 58 has been marked as awake) et se rendors (Node 58 has been marked as asleep), mais à la lecture de ton article et de se que j’ai compris du Z-wave ce n’est pas logique !
As-tu connaissance de spécificité chez Qubino (le ZMNHAD) ou une explication logique à ce comportement (qui spam un peu mon réseau au passage) ?
Effectivement c’est pas logique, peut-être essayer de l’exclure et inclure à nouveau. Dans onglet systèmes il n’y a pas de trace de la CC wake up?
Oups, le mail de notification de réponse a terminé sa course dans les spam que je ne regarde qu’une fois l’an !! Désolé.
Dans l’onglet système, aucune trace de CC wake up.
Je vais essayer de l’inclure / exclure d’ici ce week-end, il faut juste que je retrouve la procédure pour le faire sans devoir démonter l’interrupteur de la batibox.
Bonjour Nechry
Si je comprends bien, avec les modules AEOTEC 4in1 et 6in1, il n’y aucun moyen de commencer à les utiliser sur piles puis les basculer dans un 2nd temps sur secteur ?
A+
Oui mais en passant par la case exclusion entre deux.
Bonjour,
Est ce que cela pose un pb si le module se réveille avec des voisins différents de ceux qu’il avait à sa mise en sommeil ? Est ce que le Wake Up Notification va retrouver le controleur si sa route à changé ? En résumé : faut-il un réveil manuel après avoir déplacé un module.
Merci
Alors j’évoque cette problématique dans la documentation du plugin. Oui il est préférable de faire une demande de mise a jour des voisins lorsqu’on installe a son emplacement définitif puis de réveiller le module pour s’assurer du bon fonctionnement et de la couverture. Il faudrait aussi suite a cette mise a jour de voisins aussi faire une mise a jour complète du réseau. Dans les versions précédent une option permettait de soigné le réseau 2 fois par semaine pour d’une certaine façon le faire a votre place. C’est utile lorsqu’on monte son réseau, moins nécessaire sur un réseau qui ne bouge plus.
Bonjour,
Utilsant Jeedom avec des modules DANFOSS LC13 qui ne se réveillent que toutes les 5 minutes par défaut, serait il possible de les réveiller à la demande par une programmation de scénario, afin qu’un changement de consigne soit pris en compte directement ?
En regardant dans la doc des Command Class de ces modules il est bien indiqué qu’il existe une commande COMMAND_CLASS_WAKE_UP (A special Z-Wave command used by living connect® to synchronize communication with its controller.) mais il semble qu’elle ne soit pas intégrée…
Et je ne trouve pas trop d’infos sur le web à ce sujet. Auriez vous une idée svp ?
Merci d’avance.
Bonjour Benoit, la Classe de commande WAKE_UP est bien intégré dans openzwave et le plugin Z-Wave de jeedom. Tu retrouves la valeur dans l’onglet Système. Par contre, ça ne sert pas à réveiller un module de l’extérieur mais a définir à quelle fréquence ce réveille automatiquement le module. Donc 5min correspond à un Wakeup Intervalle de 300 sec. Je pense pas qu’il soit vraiment important d’être plus agressif sur l’application d’un changement de consigne sur ton thermostat. Avec l’inertie globale de la boucle de rétroaction c’est déjà très rapide en comparaison au reste.
Merci Nechry pour ton retour ! J’ai bien trouvé la valeur dans l’onglet Système et je l’ai réduite du coup… On verra bien à quelle fréquence je vais devoir changer les piles !
Bien à toi.
Bonjour Nechry,
Super article.
Sais-tu s’il est possible de créer deux commande de type INFO dans Jeedom, affichant :
1) la date de dernière communication avec le module
2) la date du dernier réveil du module (via la classe WAKE_UP par exemple ?)
Je vois dans l’arbre Z-Wave l’information du timestamp du dernier réveil, mais je n’arrive pas à la récupérer. Elle est dans : « result -> instances -> 1 -> last_notification -> receiveTime »
Concernant la date de dernière communication avec un module, le plugin Z-wave a bien l’information car il me l’affiche dans l’écran santé du plugin Z-wave via la colonne « dernière notification ».
D’avance merci pour le coup de main, et pour ta contribution en général.
Pierre (Mav3656).