Domotique

Introduction

La domotique est un domaine très large avec beaucoup d'acteurs et de protocoles ... Mais les choses changes et on voit (enfin) des standards se profiler à l'horizon à des prix bien plus abordable.

Architecture globale

Nous allons trouver différents acteurs dans notre installation domotique, faisons un petit tour ...

Capteurs

On commence par le plus simple. Les capteurs vont nous permettre d'introduire des données dans notre système : température, humidité, pression, présence, mouvement, niveau d'eau, ouverture de porte/fenêtre ... Il en existe de toute sorte.

Actionneurs

A l'inverse des capteurs, les actionneurs vont agir sur notre environnement : chauffage, électrovanne, haut-parleur, SMS, écran ... La aussi la liste est trop longue pour la faire ici ! 

A noter que évidemment on certains dispositifs peuvent adopter plusieurs rôles, il n'est donc pas rare qu'un capteur soit également un actionneur. Par exemple il existe des relais qui permettent de piloter une lampe ou une pompe par exemple qui sont également capable de mesurer la consommation électrique, ainsi ils ont un côté actionneur mais aussi capteur ...  

Serveur

Le serveur c'est le chef d'orchestre de votre installation domotique. Capteurs et actionneurs ne sont sensés que se cantonner à leur rôle (bien que comme évoqué avant, certains peuvent cumulé les deux rôles, il peuvent alors être un peu plus intelligent comme un thermostat).

De ce fait c'est lui qui va géré un certain nombre de choses :

Ce serveur est dans la très large majorité des cas un serveur informatique, c'est à dire un ordinateur sans écran qui fait fait tourner des logiciels en permanence ... La domotique étant généralement peu gourmande en ressource, un serveur domotique tourne souvent sur des très petites plateformes surtout pour économiser de l'électricité, des nuisances sonores, de la chaleur et de l'argent. A ce titre vous croiserez souvent sur votre route le célèbre Raspberry Pi, que je vous déconseille néanmoins mais j'y reviendrai dans la page dédiée aux serveurs ...

Certaines solutions propose une application sur smartphone ou tablette qui peut être bien pratique

Communication/protocole

Pour que tout ce beau monde fonctionne il faut un lien entre eux. Et suivant les ça il existe toute une panoplie de protocoles : Wifi, Bluetooth, Zigbee, Z-Wave, X10, ethernet ... Comment choisir ? Tout le débat est là ... Plusieurs facteurs rentrent en compte :

Passerelles

Elle permettent de passer d'un protocole à un autre. Et oui vous vous en rendrez rapidement compte, un protocole ne peut pas les gouverner tous. Pour une raison ou une autre il faudra mixer. Pour faire ça on va utiliser des passerelles (gateway en anglais) pour "convertir" un message d'un protocole vers un autre.

L'association à la mode est Zigbee et wifi. Votre serveur basiquement ne peut communiquer que sur des protocole IP (Wifi et ethernet). Globalement c'est pratique, votre passerelle étant souvent votre box internet (et oui vous ne l'aviez pas vue comme ça !). Mais le wifi a un gros défaut, il consomme. Ce n'est pas un protocole conçu pour l'économie d’énergie. La quasi totalité des composants domotiques exploitant cette connexion se trouve donc souvent à côté d'une prise ... La on se dit qu'avoir un protocole plus économique serait bien pratique. Nous reviendrons en détail dessus mais le Zigbee fait une grosse percée depuis quelques temps, et à l'inverse du wifi, est vraiment orienté économie. J'ai des capteurs de température depuis deux ans, ils fonctionnent avec la même pile bouton depuis 2 ans et le niveau est toujours >90% ! Cependant ils ont besoin d'un petit dispositif qui peut prendre différentes formes (dans cette documentation nous développerons surtout le dongle USB couplé à Zigbee2Mqtt) qui va "traduire" le message en Zigbee vers un protocole IP pour que notre serveur récupère la donnée (ou en envoi si c'est le cas).

Serveur

Grosso modo pour le serveur vous arrivez devant un grand choix à faire : solution toute prête dédiée à la domotique ou je développe ma propre solution. Alors attention, la seconde option est loin d'être aussi inaccessible qu'elle n'y parait ...

Toutes les solutions évoquées ici fonctionnent sous Linux, donc assez rapidement on peut se retrouver à jouer avec et faire de l'administration système. Je vous préviens c'est tout :D

A noter que certaines solutions proposent directement des box toute prêtes. Sauf si vous êtes fainéant ou pressé, monter sa solution domotique est souvent le but du jeu et acheter une box gâche un peu le plaisir avec évidemment un surcoût notable.  

Logiciel

Solution ready-to-go

La plupart des solutions vous sont proposées soit à installer sur un ordinateur déjà doté d'un système d'exploitation, soit de télécharger des images systèmes entières (typiquement pour Raspberry Pi). Cette deuxième option peut être un bon point de départ si on a jamais fait d'administration système, mais vous êtes tributaire de la plateforme pour laquelle elle a été préparée.

Jeedom

https://www.jeedom.com/site/fr/

Domoticz

https://www.domoticz.com/

Home Assistant

https://www.home-assistant.io/

Gladys

https://gladysassistant.com/fr/

Solution homemade

 Si vous êtes développeurs vous pouvez évidemment faire ce que vous voulez dans le langage de votre choix, tout est possible ... Je ne vais donc traiter que de NodeRed qui permet de coder un serveur (pas que domotique vous pouvez faire ce que vous voulez avec) de manière graphique et de Grafana qui est un outil qui permet d'afficher des données.

NodeRed

https://nodered.org/

image-1585675430168.png

Développé par IBM initialement, elle fonctionne sous NodeJS, est Open Source et est assez simple à prendre en main. On accède à l'interface de développement via son navigateur et on a un système de bloc fonctionnel (les nodes) que l'on relie entre eux :

image-1585675444969.png

Il y a un système d'extension qui permet d'ajouter d'autres nodes, comme par exemple dashboard qui permet très facilement de créer une interface :

image-1585675576998.png

Grafana

image-1585675644339.png

https://grafana.com/

image-1585675659209.png

Matériel

Vous avez choisi votre solution, super ! On l'installe sur quoi maintenant ? Comme mentionné en intro, on va souvent chercher au plus petit ... et au plus simple à utiliser aussi. Les SBC (Single Board Computer) sont des petites cartes qui embarquent tout ce dont un ordinateur a besoin. En tête de gondole, le Raspberry Pi, mais il en existe bien d'autres : Asus Tinker, Orange Pi, Banana Pi, RockPi etc ... Mais laquelle choisir ?

La aussi beaucoup de facteurs entre en jeu (prix, puissance, connectivité consommation ...) comme un PC classique en somme. Par contre je vais m'attarder sur un point en particulie.

Raspberry Pi = faux ami ?

Il faut bien comprendre un truc : une fois votre logement domotisé, votre serveur devient le lien entre tout. Vous appuyer sur un interrupteur, le message par au serveur, il sait que sur tel interrupteur il doit allumer telle lumière, il l'envoi à l'ampoule et hop ça s'allume. Si votre serveur n'est pas fonctionnel => RIEN ne fonctionne. C'est votre tour de contrôle, sans elle y'a plus un avion qui décolle ... Elle doit donc être d'une fiabilité à toute épreuve. Et la le bas blesse avec notre copain le Raspberry .. En effet, le "disque dur" de votre Raspberry Pi est une carte SD. Or une carte SD c'est fait pour stocker des photos ou des mp3, mais surtout pas pour supporté le stresse généré par un système d'exploitation ... Elles crament donc souvent ... 

Un bon conseil ?

Privilégier les plateforme à mémoire dites eMMC : c'est une "vraie" mémoire informatique. Elle n'est pas aussi fiable qu'un SSD mais comparé à une SD on est à des années lumières.

Dans la catégorie la famille des RockPi offre des prestation sympas à bas prix, et le développement est assez bien suivi (ce qui n'est pas le cas de tout les SBC ...).

Mais je vais vous donner mon astuce ultime :

image-1585676784668.png

 

Vous vous souvenez des netbooks il y a quelques années ? Ces tout petits ordinateurs à pas cher avec des Intel Atom ? Ils ont presque tout pour plaire !

Autre possibilité : recycler un vieux PC. N'importe quoi avec un processeur x86 fait l'affaire ! Alors n'aller pas cherche votre Pentium 2 non plus hein ...

Capteurs & actionneurs

SonOff

https://www.itead.cc/   mais disponibles dans plein d'autres crèmeries ...

SonOff ça tourne surtout autour du wifi (ils font un peu de Zigbee maintenant). 

Un mot clé = pas cher

La plupart des produits sont basés sur de l'ESP8266, un microcontrôleur qu'on peut facilement reprogrammer pour y mettre un firmware open source comme espurna ou tasmota.

Xiaomi/Aqara

https://www.banggood.com/search/aqara.html?from=nav

Une très bonne gamme en zigbee et pas chère du tout. Tous les modules semblent compatible avec zigbee2mqtt

Ikea

Ikea s'appuie sur le zigbee pour ses objets domotiques. On peut causer avec grâce (toujours) à zigbee2mqtt

Prix imbattables, fiables ... Que demander de plus ?

Shelly

Le concurrent de SonOff, avantages par rapport à SonOff
https://shop.shelly.cloud

 

 

Passerelles

Zigbee2mqtt

https://www.zigbee2mqtt.io/

Comme son nom l'indique, permet de passer des messages en Zigbee au travers d'un serveur MQTT.

La forme "classique" est le dongle USB qu'il faut reprogrammer (j'ai un programmateur si vous voulez) et insérer dans son serveur. On installe ensuite le soft qui va bien, on le configure et on peut coupler ses devices Zigbee.

image-1585678475126.png

Pour ~6$ vous pouvez vous ouvrir une grande porte ...

SonOff bridge

Pour passer du 433 MHz à l'IP.

image-1585678548510.png

OpenMQTT Gateway

Passerelle pour passer du BLE / LoRa / GSM / Infrarouge / 433mhz vers du MQTT
Compatible ESP8266 / ESP32 / SonOff Bridge / M5Stack / M5Stick C / Sonoff RFR3 / TTGO LORA32

 

 

Home Assistant