Licence CC BY

Mon installation domotique

Pourquoi ? Comment ? Combien ça coûte ?

Suite à une petite discussion sur le discord de ZdS, on m’a demandé si je pouvais partager un peu mon setup domotique fait maison. Alors je prends mon clavier à deux mains et je vais tenter de balayer un peu tout ça !

Pourquoi je veux domotiser ma maison ?

Parce que c’est marrant !

Je suis curieux, du coup c’est un défi que je trouve amusant à faire que de relever un peu des infos sur ma maison, mes usages, et voir si je peux harmoniser un peu tout ça pour en faire une maison un tout petit peu intelligente !

Cependant, je me suis placé quelques contraintes :

  • Coder le moins possible en utilisant un maximum de solution sur étagère
  • Utiliser des briques logicielles qui semble maintenues et viable sur le long terme
  • NE PAS DÉPENDRE DE LA DOMOTIQUE pour le fonctionnement de la maison ! Ce qui veut dire :
    • Uniquement des ajouts de confort
    • Pas de systèmes de sécurité (serrure connectée par exemple) ! 1
    • Si la domotique est en panne, tout doit marcher de manière conventionnelle comme si elle n’existait pas (les lumières marchent avec des interrupteurs, les volets avec leurs télécommandes etc)

Une fois cela établi, je me suis donné quelques objectifs :

  • J’ai des volets électriques, je veux pouvoir les piloter avec la domotique (on en parle un peu plus après)
  • J’ai un projet de panneaux solaires, je veux pouvoir superviser la consommation électrique de certains postes (chauffe eau, charge voiture électrique, consommation globale de la maison)
  • Avoir des infos diverses et variées sur la maison (température des pièces, état de l’ouverture de fenêtres)

Partant de là, j’ai pu commencer à jouer…


  1. Remember, the "S" in "IOT" stands for Security ;)

Base matérielle et logicielle

Quelles solutions matérielle pour un petit serveur domotique à domicile ?

Avant de pouvoir faire quoi que ce soit, il me fallait d’abord choisir un support matériel pour héberger tout ça. Le grand classique chez les hobbyiste est d’utiliser un RaspberryPi (modèle 4 au moment de mes recherches). Cependant, je n’aime pas cette solution car elle présente quelques désavantages :

  • Besoin d’une carte SD pour le boot ET d’un SSD externe pour le stockage
  • Disponibilité hasardeuse au moment de mes recherches (post-covid avec un marché des semi-conducteurs encore en tension)
  • Rapport prix/performance pas si exceptionnel

J’ai donc creusé un peu plus et jeté mon dévolu sur un NUC, les PC tout-en-un de chez intel, que j’ai trouvé en occasion. Pour 70€ j’ai réussi à trouver le modèle NUC5i5RYK qui possède un processeur i5 de 5ème génération, 4 Go de RAM et 64Go de SSD. Le gros avantage du NUC étant qu’il est très facile de faire évoluer ces deux caractéristiques si jamais le besoin s’en fait ressentir (spoiler alert : Après un an d’utilisation je n’ai pas encore approché une seule fois les limites).

Je ne regrette vraiment pas ce choix, je n’ai jamais eu un sentiment de ralentissements ou de sensations que ce matériel était un facteur limitant au quotidien (alors que j’ai pu tester des solutions à base de RaspberryPi, et Wahooo c’est lent en fait !)

Les connexions sans fil

Dans le monde de la domotique, quelques technologies de communications sans fil sont majoritaires : Wifi, Bluetooth et Zigbee. Je comptais donc m’équiper pour répondre à ces trois technos. Pour ce qui est du Wifi et du Bluetooth, pas de prise de tête, le NUC propose déjà cela de manière native. J’avais quelques craintes sur la portée du Bluetooth, mais des solutions existent pour étendre cela sans trop de difficulté. Me restait le Zigbee, pour lequel j’ai fait confiance aux hobbyistes en choisissant un dongle USB Sonoff (~30€) qui semble recommandé par pas mal de monde comme un bon élément clé en main.

D’autres protocoles ?

Effectivement, ça ne suffit pas ! Typiquement pour les volets roulants je vais avoir besoin d’une autre solution. Mais on en reparle un peu plus loin dans la section idoine !

HomeAssistant, mon choix de solution logicielle

Une fois le matériel convenu, il reste à choisir la solutions logicielle. Là encore, plusieurs solutions existent mais je me suis rapidement tourné vers HomeAssistant pour sa maturité, ses mises à jour très régulières et son immense communauté. Il existe plusieurs façon de l’installer (dont des versions docker), mais pour ma part j’ai choisi de faire une installation "standalone", qui occupera donc tout le SSD puisque le NUC ne servira que à cela.

Le logo de HomeAssistant
Le logo de HomeAssistant

ESPHome, pour des capteurs spécifiques

Un autre aspect logiciel est l’add-on "ESPHome". Cette suite d’outils est assez formidable car elle permet assez simplement d’écrire des programmes pour les petites cartes électronique de type ESP8266 / ESP32 (grosso modo, des cartes Arduino sous stéroïdes avec une communication Bluetooth/WiFi native). Le code est écrit de manière descriptive avec du yaml, puis ensuite compilé et envoyé en OTA sur la carte. Vraiment c’est assez magique comme outil quand on ne veut pas se prendre la tête à écrire du code :D

La gestion des volets

Allez, tapons dans l’dur avec le premier cas d’usage qui m’intéresse : Piloter mes volets électriques.

J’ai la chance d’avoir une maison où toute les surfaces vitrées ont des volets électriques sans fil. Ils sont de marque Somfy et de protocoles RTS. Je pose ça là car ca à son importance ! En effet, Somfy propose deux procotoles pour ses panneaux, RTS et io-homecontrol. L’un (RTS) étant plus facile à imiter pour du matériel tiers que l’autre.

Sachant cela, il ne me restait plus qu’à me mettre en quête du composant ultime pour pouvoir émuler a communication avec mes volets !

Quelle solution RF pour piloter ses volets ?

Pour piloter de tels volets, il existe plusieurs variantes d’antennes sans fil. Un des classiques est d’utiliser un module RF (RadioFréquence) qui peut émettre sur les mêmes longueurs d’ondes que les télécommandes Somfy. Sauf que tout les appareils un peu DIY proposée nécessite de changer un composant (un quartz dans ce cas) pour pouvoir travailler à la bonne fréquence. J’ai testé, c’est nul. Déjà changé le quartz et trouver le bon c’est une galère et ensuite le résultat en terme de portée est minable. Bref, grosse déception et quelques heures de perdues…

Je me suis alors tourné vers un choix plus raisonnable, le module CC1101. Ce dernier est un petit composant de Texas Instrument qui propose de faire la modulation à la bonne fréquence (car paramétré numériquement). On obtient alors une portée absolument formidable et un fonctionnement fiable et sans souci.

La seule contrainte, il faut "fabriquer" un dongle pour communiquer avec. C’est là qu’intervient un module ESP32 qui sera flashé avec le logiciel "ESP Somfy RTS" qui est vraiment superbe. Ce dernier deviendra alors le cerveau des opérations, et fera tout le travail d’émulations des télécommandes classiques, tout en détectant aussi ces dernières pour savoir si les volets sont actuellement ouvert ou fermé etc.

Enfin, il me permet aussi de répondre à un de mes critères : Tout marche comme d’habitude avec les télécommandes classiques même si ma domotique est en rade !

Et ça donne quoi dans HomeAssistant ?

Dans HomeAssistant, il y a moyen d’utiliser une intégration spéciale via le plugin "HACS" qui permet alors de voir sans efforts les actionneurs de chaque volets ou groupe de volets (selon ce que l’on a défini dans ESPSomfyRTS). En image ça donnera ça :

Et voilà un ensemble de télécommande complètement virtuelle
Et voilà un ensemble de télécommande complètement virtuelle

Pourquoi domotiser les volets

J’ai plusieurs idées derrière la tête qui m’ont donné envie de piloter mes volets avec HomeAssistant (et je n’en ai appliqué aucune à ce jour :D ).

La première est de pouvoir donner des scénarios à mes volets. Qu’ils s’ouvrent quand je suis supposé me lever et se ferme au coucher du soleil. (après tout si ça peut aider les enfants à se lever… :D )

La seconde est de pouvoir donner un sentiment de vie à la maison si jamais je ne suis pas là sur une longue période (vacances par exemple).

La troisième c’est d’arrêter de consommer des piles boutons en arrêtant de me servir des télécommandes classiques :D (moins je fais de maintenance de ce genre, mieux je me porte :D )

Enfin, et c’est ma motivation initiale, pouvoir faire des scénarios intelligents en fonction du soleil. J’ai une maison très bien orientée, avec 3 faces orientées est + sud + ouest, et donc je suis le soleil toute la journée. Cependant en période de forte chaleur il serait bon que les volets puissent s’ouvrir et se fermer intelligemment pour limiter les apports de chaleur dans la maison, en fermant lors des moments de fortes expositions puis ré-ouvrir plus tard etc.

Gestion de la température

Comme je le disais il y a quelques minutes, j’aurais bien aimé piloter mes volets pour avoir une gestion de la température un peu intelligente dans la maison. Pour cela du coup il faut savoir quelle température il fait à l’intérieur (et idéalement à l’extérieur).

Histoire de joindre l’utile à l’agréable, j’ai choisi des capteurs qui possèdent un petit écran LCD. Cela permet d’avoir à la fois une remontée d’infos (via Bluetooth) et une visualisation en direct de la température si nécessaire.

Les capteurs LYWSD03MMC

Pour cela, sur les conseils d’amis je me suis commandé des capteurs fabriqués par Xiaomi, les LYWSD03MMC.

Le capteur LYWSD03MMC
Le capteur LYWSD03MMC

Il faut compter environ 5€ par module.

Comme on le voit sur la photo, ces petits capteurs proposent directement sur leur écran la température et l’hygrométrie ainsi qu’un petit pictogramme censé symbolisé le confort dans l’habitat.

Le souci…

MAIS, il y a un souci. Sur le papier ces petits modules sont supers, mais ils sont fait pour fonctionner avec l’application et l’écosystème de Xiaomi et non pas HomeAssistant ! Mais comme le monde des bidouilleurs est bien fait, il est possible de les reprogrammer pour mettre un firmware custom et ainsi le rendre compatible avec notre environnement logiciel favori ! Il est même possible de reconfigurer la calibration du capteur de température, sa fréquence de mesure (ce qui impactera la durée de vie de la batterie) etc

Ça donne quoi ?

En image, ça donne ceci par exemple :

Oui, dès qu'il y a du soleil il fait chaud dans la véranda !
Oui, dès qu’il y a du soleil il fait chaud dans la véranda !
Quelqu'un a dû jouer avec un module...
Quelqu’un a dû jouer avec un module…

Ayant maintenant accès aux températures de chaque pièce et de l’extérieur, il devrait être plus facile de faire des scénarios intelligent pour piloter les volets !

Note sur la portée des modules

Les modules étant relativement petit, leur puissance de transmission est bonne mais pas excellente. Tout les capteurs qui sont en intérieur fonctionne bien et sont bien capté par le NUC, mais ceux en extérieur, à une vingtaine de mètres du NUC à vol d’oiseau sont difficilement capté. L’astuce pour fiabiliser tout ça ? Reprogrammer un ESP32 en mode relais "Bluetooth -> WiFi", le placer dans le cabanon du jardin (dans lequel j’ai de l’électricité) et le tour est joué !

La consommation électrique

Afin de parfaire ma collecte de données de la maison, j’ai ajouté un suivi de la consommation électrique du domicile. D’une part pour avoir une idée de la consommation de différents postes (charge du véhicule électrique, consommation du chauffage, consommation du chauffe eau) et ensuite évaluer la pertinence d’une installation photovoltaïque.

Pour cela j’utilise deux modèles de capteurs différents : Des PZEM-004T (interfacé avec ESPHome) et des capteurs Zigbee. Pourquoi deux types différents ? Car j’ai acheté les premiers avant d’avoir de quoi faire du Zigbee et ne sachant pas si j’en ferais un jour :D Puis je me suis rendu compte qu’ils n’arrivaient pas à différencier le sens du courant ce qui me posait un souci pour évaluer une production photovoltaïque !

Une autre piste que je n’ai pas encore explorée est celle des prises connectées capable de mesurer le courant afin d’avoir une idée plus fine de certains consommateurs (notamment le PC qui me sert pour jouer par exemple :D ). Ça n’a rien d’essentiel, mais comme je suis curieux…

Illustration du résultat

Une fois tout cela configuré dans Home Assistant, on se retrouve avec un joli tableau de bord !

Mon tableau de bord pour l'énergie
Mon tableau de bord pour l’énergie

Et voila le bilan de mon installation en cette début d’année !

Au total voici un résumé des dépenses :

  • NUC d’occasion : 70€
  • Dongle Zigbee : 30€
  • Dongle Somfy CC1101 : 10€ (5€ pour l’esp32, 3.5€ pour le CC1101 lui même et 1.5€ pour faire un montage un peu propre)
  • Capteur température (x10) : 50€ (5€ pièces)
  • Capteur courant :
    • PZEM004T (x4) : 50€ (12.5€ avec pince ampèremétrique)
    • Compteur Zigbee TuYa : 23€

Ce qui nous donne un total actuellement de 233€ de matériel et un bon paquet d’heures pour tout faire marcher :D

8 commentaires

Tiens un billet plutôt sympa. Je réfléchis aussi à faire ce genre de chose chez moi (mais avec un raspberry)

Je me poser une question : Tes capteurs de températures ne craignent pas trop la pluie lorsque tu les mets à l’extérieur ? Tu les achètes sur quel site à ce prix ?

Merci pour vos retours !

Tiens un billet plutôt sympa. Je réfléchis aussi à faire ce genre de chose chez moi (mais avec un raspberry)

Je me poser une question : Tes capteurs de températures ne craignent pas trop la pluie lorsque tu les mets à l’extérieur ? Tu les achètes sur quel site à ce prix ?

firm1

Si tu as un Raspberry qui traine dans un tiroir go for it, si tu investis spécifiquement pour ça ça vaut vraiment le coup de regarder le marché de l’occasion des NUC je pense

Pour les capteurs de température c’est du Aliexpress. Et pour le côté humidité, j’en ai un dehors mais a l’abri de la pluie direct (bon ça empêche pas l’humidité cela dit) qui semble toujours vivant donc ça va :D

+1 -0

Tiens un billet plutôt sympa. Je réfléchis aussi à faire ce genre de chose chez moi (mais avec un raspberry)

Je me poser une question : Tes capteurs de températures ne craignent pas trop la pluie lorsque tu les mets à l’extérieur ? Tu les achètes sur quel site à ce prix ?

firm1

Il y a souvent des modèles de mini PC pas trop nuls chez https://www.softwarebilliger.de/
Par exemple en ce moment Acer Veriton N4640G Mini PC Computer - Intel Core i5–6500T bis zu 4x 3,1 GHz mit Windows 10 Pro
Mais attention, les OS sont en allemand.
Le site est en allemand, mais il y a une traduction Google prévue juste en dessous de la barre d’adresse.

+1 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte