Les volets roulants sont souvent la première chose que l'on souhaite domotiser dans une maison, à la fois pour des raisons pratiques, mais aussi pour des raisons de confort l'été en cas de fortes chaleurs.
Venant de faire construire ma maison, j'ai fait le mauvais choix de retenir un fabricant de volets roulant proposant un système radio non ouvert et disposant de très peu de solutions de domotique : Bubendorff. Leur simple horloge me permettant de programmer les horaires d'ouverture et de fermeture coûte la bagatelle somme de 190€ et à ce prix-là, vous n'avez même pas la possibilité d'ouvrir vos volets avec votre téléphone.

Pour me permettre d'automatiser l'ouverture et la fermeture automatique de mes volets j'ai donc décidé d'utiliser un Arduino UNO équipé d'un shield Ethernet pour pouvoir communiquer avec lui à distance depuis mon réseau local ou mon Smartphone.

Le montage électrique est très simple :

  • Les deux relais qui me permettent de simuler l'appui sur la télécommande radio sont connectés sur les sorties 7 et 8 de l'Arduino. Ces deux relais peuvent être montés soit-même comme c'est le cas sur la photo, vous avez aussi la possibilité d'acheter ces deux relais 5V sur Internet prêts à brancher sur l'Arduino. Cela ne coûte que quelques euros.
  • Les deux relais sont connectés au bouton haut et bas de ma commande radio groupée via une petite soudure réalisée à la main. J'ai tout simplement glissé les fils en dessous des pattes existantes et utilisé de l'étain pour fixer les fils. Il faut juste penser à gratter un peu les pattes avec un tournevis plat pour une bonne adhérence de l'étain sur le circuit.
  • Le shield ethernet est directement connecté à l'Arduino, ce shield permet à l'Arduino de communiquer avec mon réseau local au travers d'API REST.

domotique-arduino2.jpg

J'utilise tout simplement l'alimentation 5V de mon Arduino pour alimenter les deux relais. Les sorties 7 et 8 sont quant à elles les sorties qui vont me permettre d'ouvrir et de refermer chacun des relais depuis le logiciel déployé sur l'Arduino.

domotique-arduino6.jpg

Les relais sont connectés aux boutons "haut" et "bas" de ma télécommande radio. Ces relais me permettent de simuler l'appui sur les boutons physiques de ma télécommande actuelle.

domotique-arduino5.jpg

J'ai ensuite développé un petit programme sur l'Arduino qui démarre un petit serveur Web capable de répondre à des commandes très simples transmises via des requêtes REST / JSON.

Le code source de ce petit programme est disponible sur GitHub. Je vous invite à le récupérer et à l'adapter en fonction de vos besoins. Si vous identifiez des améliorations, n'hésitez pas à me transmettre une "pull request".

Les entêtes HTTP de cache sont volontairement désactivés pour éviter toute mise en cache de la données par le proxy HTTP d'un opérateur télécom. Les CORS "Access-Control-Allow-Origin" sont quant à eux activés pour me permettre de solliciter ces services REST depuis une interface HTML mise à disposition sur un autre domaine réseau.

Je peux désormais grâce à ce montage simple, gérer mes volets à distance et de manière automatique depuis un simple navigateur sur mon réseau local. Il me suffit pour cela d'ouvrir les URL suivantes en remplaçant x.x.x.x par l'IP que votre DNS aura proposé à l'arduino.

Pour ouvrir vos volets : http://x.x.x.x/open
Pour fermer vos volets : http://x.x.x.x/close
Pour ouvrir à moitié vos volets : http://x.x.x.x/half
Pour inverser l'état d'ouverture de vos volets : http://x.x.x.x/switch

J'ai aussi la possibilité de continuer à utiliser manuellement la télécommande en cas de panne réseau. Bref, c'est pratique, pas cher et simple à mettre en oeuvre.
Pour gagnez du temps, je vous invite à utiliser des cartes relais déjà toutes prêtes pour l'Arduino et éviter de construire votre propre circuit comme ce que j'ai fait sur mon montage.

Voici une synthèse du matériel nécessaire :

Bon hack !