Module Qubino Volets Roulants

Domoticz : Automatiser la gestion des volets roulants en LUA

Bonjour à tous !

Aujourd’hui je vais vous présenter un petit script (écrit en LUA) qui permet d’automatiser la gestion des volets roulants électriques de votre maison.Comme d’hab’, je tiens à préciser que je ne suis pas développeur, il y a donc sûrement moyen de rendre le script plus « beau », si vous avez des idées, pistes, liens : n’hésitez pas à poster un commentaire :)

Automatiser la gestion des volets roulants : le principe

« Pourquoi ai-je voulu automatiser la gestion des volets roulants ? »
Vous vous êtes sûrement rendu compte que la température de la maison étant grandement dépendante de la température extérieure et de l’état de vos volets non ? eh ben voilà :) je me suis donc dit que je pouvais gagner quelques degrés de fraîcheur en été, et quelques degrés de chaleur en hiver (du coup quelques €) :)

J’ai donc pensé à mettre en place un principe (pour l’instant) assez simple. Voici les quelques principes élémentaires que j’ai (ou presque) mis en place :

  • ouverture/fermeture automatique en cas d’absence en fonction de la température extérieure (pas encore) et intérieure
  • fermeture automatique des volets en cas de départ en vacances (en fonction du mode)
  • ouverture/fermeture le matin et le soir
  • gestion des volets en fonction de l’état des fenêtres (pour ne pas se faire coincer dehors, c’est mieux quand même :p)

Bon allé, assez parlé, je vous explique comment j’ai fait.

Matériel nécessaire

Perso, j’ai choisi de confier la commande de mes volets à des modules Z-Wave pour des raisons de sécurité. En effet, d’après ce que j’ai compris (n’hésitez pas à commenter si je me trompe!), le 433MHz ne permet pas de gérer qui actionne les modules… ce qui me fait un peu peur si je laisse les fenêtres ouvertes…

Du coup j’ai choisi d’utiliser des modules Qubino (j’ai choisi le module ZMNHCA2, qui a été remplacé depuis par le module ZMNHCD1) que vous pourrez acheter chez My Domotique (attention, je ne touche rien si vous achetez dans cette boutique, c’est juste que je n’ai eu que d’excellentes expériences avec celle-ci au cours de mes différents achats).

Module ZMNHCA2

Module QUBINO ZMNHCA2

Partiel logiciel : Domoticz

Etape 1 : Association du/des module(s) Qubino Z-Wave pour le(s) volet(s) roulant

AeonLab Z-Stick

Z-Stick

Grâce à la clef USB Zwave AeonLab ZStick (que je vais sûrement bientôt remplacer par celle si : Z-STICK Z-WAVE PLUS (GEN5)), j’associe très facilement mes modules z-wave.

J’installe le module z-wave dans la boite de l’interrupteur en suivant le schéma de câblage suivant :

Schéma de cablage du module ZMNHCA2

Schéma de cablage du module ZMNHCA2

Couleurs  Description
normalement rouge, marron, noir, mais ça peut être toute autre couleur
sauf le bleu et le jaune/vert
Conducteur de phase, fil électrique par lequel le courant arrive. Repéré sur le schéma ci-dessus par le symbole « L ».
bleu clair Conducteur neutre, fil électrique permettant la répartition du courant.
Repéré sur le schéma ci-dessus par le symbole « N ».
jaune/vert  Mise à la terre, conducteur de protection. Non présent sur ce schéma.

Je place ensuite domoticz en mode inclusion de module en suivant les étapes suivantes :

  • Rendez-vous dans les « Réglages » de votre « matériel » z-wave en cliquant sur le bouton « Réglages »
Reglages du matériel ZStick

Réglages du matériel ZStick

  • Cliquez sur le bouton « Gestion de noeuds » et choisissez l’entrée : « Inclure le noeud »
Inclusion du module z-wave

Inclusion du module z-wave

Enfin je remets le courant.

Normalement, lorsque vous mettez ce module sous tension et qu’il n’est pas encore inclus dans un réseau z-wave, il doit se mettre automatiquement en mode inclusion durant 30 secondes. ATTENTION : un appui sur le bouton d’inclusion ou sur n’importe quel autre bouton relié à une de ses entrées annule le mode inclusion.

Si l’association automatique ne donne rien… suivez les étapes suivantes (attention, spécifique à la clef z-wave choisie) :

  1. Débrancher la clef z-wave
  2. Faites un appuie long sur le bouton de la clef z-wave
  3. Relancer le mode inclusion du module manuellement en appuyant plus de 2 secondes sur le bouton d’inclusion situé au dos du module
  4. Rebrancher la clef z-wave sur le RaspberryPi.

Vous devez normalement voir un nouveau périphérique présent dans les « réglages » de votre  « matériel » z-wave.

Liste des périphériques z-wave

Liste des périphériques z-wave

Etape 2 : Déclaration des fenêtres

Afin d’avoir la possibilité de rester dehors sans risque de me retrouver enfermé dehors, j’ai créé un périphérique (pour l’instant virtuel étant donné que je n’ai pas encore investi dans les détecteurs d’ouverture adéquats) pour représenter l’état des fenêtres. Encore une fois, si vous voulez des détails sur cette étape, rendez-vous à la partie « Etape 2 : Création du périphérique virtuel dans Domoticz » de l’article : Domoticz : script de détection de présence en LUA. Je me sers aussi, pour l’instant, de ces éléments comme moyen d’interrompre la gestion automatique des volets.

Etape 4 : Ecriture du script LUA

Allé hop, nous rentrons maintenant dans le vif du sujet : l’écriture du script LUA. Si vous n’avez jamais entendu parler de LUA, je vous invite à parcourir ce site : http://www.lua.org/manual/5.1/  qui est la référence complète sur le langage.

Encore une fois je ne vais pas vous expliquer tout ce que je fais dans ce script, j’espère qu’avec les commentaires vous comprendrez et si vous ne comprenez pas un truc …. demandez en commentaire :)

J’ai juste quelques petites choses à expliciter :

  • lorsque je fait appel à une variable // fonction mutualisée (présente dans le fichier lib.lua), je la précède de myLua
  • la fonction me permet, lorsque je défini la valeur de la variable debugging à « true », de cracher des logs dans le fichier de log de domoticz. Cela me permet de pouvoir débugger le script lorsque je repère un disfonctionnement.

Bon allé, c’est parti, voici le code :

Next steps

Pour améliorer cette automatisation, je pense qu’il me reste à regarder pour :

  • Inclure les différents modes dans la gestion des volets. Par exemple, définir ce que les volets doivent faire lorsque je suis en mode « PAS_LA » que j’utilise moi pour définir des vacances en dehors de chez moi.
  • Inclure la gestion de la température extérieure. En effet, j’ai mis ce script en place avant la période estivale et je n’avais donc pas besoin de la gérer, mais durant l’hiver, la gestion devrait être inversée :p il faudrait que les volets s’ouvrent à partir d’une certaine température.
  • Voir si le vent peut rentrer dans ce petit manège :p
  • intégrer des indices d’ensoleillement … peut être grâce ce magnifiquepost :

    Où est le soleil pour votre HomeCenter 2 ? Ce serait vraiment le top du top d’ouvrir les volets uniquement quand le soleil est réellement là :)

  • Intégrer un ON/OFF global de la gestion automatique des volets.

Pour aller plus loin

On peut maintenant imaginer la mise en place de scénarios un peu plus intelligents tel que la création d’une ambiance « cinéma » par exemple afin de fermer les volets lorsque je regarde un film.

Et voila, vous savez comment automatiser la gestion des volets roulants de votre maison :) J’espère que ce post pourra vous être utile et bien sur, comme d’hab, si vous avez des questions, remarques, ou encore précisions à apporter, n’hésitez pas à laisser un commentaire !

 

Une réflexion au sujet de « Domoticz : Automatiser la gestion des volets roulants en LUA »

  1. Ced

    Bonjour,
    Tout d’abord je vous félicite pour votre travail. Pour quelqu’un qui n’est pas développeur, chapeau bas !!
    Je suis hyper débutant en Domoticz et réellement ignare en LUA. Cependant votre script m’intéresse et je projette de m’installer ce type de scénario avec Domoticz sur NAS Synology, une clé UZB1 ainsi que des modules fibaro FGRM-222. J’ai donc quelques questions sur votre excellent travail.
    1) Le fichier lib.lua est t’il généré automatiquement ou bien est t’il indispensable pour le fonctionnement du scénario ?
    2) La commande oss = « curl ‘http://ip_de_votre_rpi:port/js….. concerne à priori un seul volet ? Faut donc t’il rajouter autant de lignes que de volets à fermer ?

    Bonne journée

    Répondre

Répondre à Ced Annuler la réponse.

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Vous pouvez utiliser ces balises et attributs HTML : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">