Vieille maison 180 m2 / mqtt, node-red

-3000€
Vieille maison 180 m2 / mqtt, node-red
0

#1
  • Quel est mon profil

Ingénieur informatique, 43 ans, famille de 4 personnes.

  • Quels étaient mes besoins

Tout part du contrôle de la chaudière, puis viennent les lumières, puis les volets, puis des scripts dans tous les sens. Tout cela doit être user friendly et surtout faire les choses avant qu’on lui demande.

  • Comment j’en suis arrivé à la domotique

Astrapi en parlait déjà dans les années 80, une fois devenu propriétaire, y’avait plus qu’à… une autre de mes passions est le modélisme ferroviaire où les problématiques sont à peu près les mêmes.

  • Quels matériels j’ai choisi

La maison est vieille (pierre), mais l’installation électrique est neuve, je pensais la faire domotiser mais c’est beaucoup trop cher, il s’agit donc d’une installation électrique classique, par contre je n’ai pas lésiné sur le nombre de prises RJ45.

Pour les éclairages, tous les éclairages indirects (sur prise) sont pilotés, je n’ai pas touché aux plafonniers, donc en cas de gros plantage on a toujours de la lumière. Et c’est vrai pour tout, aucun système vital à la vie familiale n’est dépendant du système domotique, on peut toujours tout actionner directement, il faudra juste le faire manuellement.
De la même façon tout le système est auto hébergé et ne dépend pas de l’état de notre connexion Internet et donc d’aucun service cloud.

Pour la domotique on est donc sur du sans fil :

  • Au départ du 433Mhz, mais par manque de fiabilité (pas de retour) je n’ai plus que les capteurs température/humidité dessus.
  • Puis j’ai rajouté du z-wave, la plus part des interrupteurs et autres relais sont en Z-Wave, ainsi que les détecteurs de mouvement.
  • Et dernièrement du En-ocean parce qu’un constructeur a sorti des interrupteurs en-ocean installables dans du Legrand Celiane de manière propre.
  • Et cet été je me suis offert des ANAVI Light Controller pour contrôler tout ce qui est bandeau Led RGB directement en Wifi/mqtt.

Pour la détection de présence, je m’appuie sur l’activité des téléphones portables via un tcpdump permanent qui détecte l’activité de mon téléphone et de celui de mon épouse, si aucune activité au bout d’une demi heure, la personne est déclarée absente, si les deux adultes sont absents et l’alarme enclenchée alors… (voir plus bas pour les scenarios).

Au niveau du son distribué dans la maison : distribution des signaux analogiques non amplifiés voix droite/gauche et terre via le réseau ethernet vers les amplis (un par pièce) ou alors par broadcast via pulseaudio vers les ordis (avec gestion des délais pour que le son soit synchrone dans chaque pièce). Le tout piloté par Subsonic.

Au niveau video, Kodi avec config partagée via un serveur MySQL et partages NFS, idem pour les jeux (retrogaming) via Recalbox (vive les RaspberryPI!), et idem pour les livres via Calibre/COPS.

La consommation électrique de la maison est surveillée via une connexion directe au compteur EDF (teleinfo EDF).

La chaudière (Oekofen à pellets) est connectée au réseau en RJ45 et je la consulte et pilote via du polling JSON sur son interface http.

Le tout (j’ai du oublie run ou deux trucs) est piloté par un serveur caché sous les escaliers avec toutes les cartes d’acquisition (USB) et les différents services nécessaires.

Tous les évènements sont enregistrés dans une base de données orientées séries de données temporelles (InfluxDB) et une solution de reporting Grafana est montée par dessus, grâce à cela j’ai pu brillamment démontrer qu’il faisait plus chaud en été qu’en hiver, ou que les laves linge et vaisselle consomment comme des gros malades.

Le pilotage manuel se fait par :

  • une télécommande Chacon à 3 boutons (contrôle lumières RDC)
  • un interrupteur double en-ocean (contrôle avancé lumières salon)
  • et surtout via HomeAssistant qui me donne le contrôle sur tout ce qui est contrôlable

Un écran home assistant, propre et clair:

Pour le contrôle à distance, tout est en https avec authentification par certificat.

Et enfin, les chefs d’orchestres :

  • TOUS, absolument TOUS les évènements transitent via du MQTT
  • et c’est node-red.js qui vient piloter tout ça et tous les scenarios

Un petit schéma logique de l’ensemble:

  • Le plus important, la mise en œuvre

Le cœur de mise en œuvre c’est vraiment node-red, tous les scenarios sont traités là, et il y en a beaucoup :

  • présence ou pas,

  • détection de mouvement sur présence, ou pas (alarme)

  • scénario météo (chaleurs et volets)

  • scénario TV (baisse éclairage salon si nuit, gestion volets salle TV)

  • ouverture/fermeture auto volets de la maison en fonction du jour de la semaine, de notre présence ou pas, de la météo, des vacance scolaires…

  • si matin de semaine or vacances, je balance la BBC ou NPR (random) sur le système audio interne, moi j’écoute les horreurs de l’actualité et les enfants se forgent l’oreille (extinction auto après 45mn)

  • mode mamie/baby baby-sitting (les adultes sont absents, mais il y a une présence tierce, réagir normalement sans alarme)

  • si absent, chaudière en mode eco, par contre si mode réception, production ECS x2 par jour

  • si cheminée insert allumée (d’après température au plafond dans la pièce, alors couper la VMC, allumer le bandeau de LED qui va bien (si c’est la nuit), mettre le chauffage en réduit et déclencher la soufflerie d’air frais de dehors versderrière l’insert pour chauffage et montée vers la hotte (ce qui théoriquement met la pièce en surpression et donc doit faire s’écouler de l’air chaud vers le reste de la maison) et puis vice versa lorsque la cheminée s’éteint (toujours d’après température au plafond)

  • si on revient à la maison (fin mode absence) si nuit, allumer lumières dedans et dehors, si jour, ouvrir les volets (sauf si meteo sur chaleur), si maison en mode chauffage, le mettre en mode normal, si c’est un seul adulte (donc maison pas en mode absence) qui revient, et si nuit, n’allumer que dehors

  • etc… etc…

On peut imaginer plein plein de scénarios, attention aux interblocages et que ce soit compréhensible par les utilisateurs tiers! (genre mes beaux parents))

Un de mes écrans node-red avec quelques scénarios:

  • Quelles pourraient être les évolutions futures de mon installation

    • virtualisation (dockers) des services
    • broadcast video
    • s’appuyer sur les services de prévision météo pour déclencher certains scénarios
    • lier mes trains électrique et la domotique (passage d’un TGV à 7h pour réveiller tout le monde!)
    • contrôle arrosage potager
    • portail électrique
    • ECS solaire?
    • contrôle vocal, mais j’attends que des solutions non dépendantes du cloud soient disponibles
    • plein d’idées, à voir au fur et à mesure
  • Pour conclure un petit retour personnel d’expérience. (Vous pourrez mettre en avant, les difficultés rencontrées, les erreurs à éviter, ainsi que les bénéfices apportés par la domotique)

    • assez déçu par z-wave, consommation de piles, pertes de paquets, parfois j’ai une grosse latence,

    • node-red.js est vraiment, vraiment TOP

    • idem pour HomeAssistant qui fait très bien le taf pour proposer une IHM propre et utilisable partout (de l’ordi au tél portable).

    • quand on commence à faire beaucoup de scenarios, attention aux interblocages et situation de concurrence entre scénarios

    • de mon point de vue le ce qui fait la qualité d’une installation, c’est la qualité des scénarios prévus et en particulier leur adaptation au contexte personnel de chacun! et ça (je me répète) c’est avec node-red que j’ai pu le gérer, un langage de programmation graphique, ca aide! (quand je vois l’enfer des fichier yaml de home-assistant à côté par exemple).

Voilà c’est mon installation d’informaticien vous l’aurez compris. (je vous ai épargné git, et la chaine d’intégration qui est en place!).