Protocoles domotique : comment s’y retrouver ?

Google (via Nest) vient de lâcher un gros poisson dans la mare : OpenThread, et on peut déjà vous dire avec certitude que ça va tout révolutionner ! Peut-être … ou pas!

Rembobinons un peu l’histoire des protocoles, donc si vous êtes déjà calé en réseaux filaires, sans-fil, protocoles domotique, IP, adresse MAC et MacDonald’s : vous pouvez sauter ce paragraphe (il faut l’être pour tous, pas juste le dernier !)

A l’origine des interactions entre les objets (avec au bout des personnes), il y avait un fil, qui permettait de faire communiquer deux appareils entre eux et ainsi pouvoir se parler ! (vous avez bien sûr reconnu le téléphone…filaire). Puis, ce même fil a été exploité pour faire transiter de nouvelles informations : internet, l’ADSL, la vie ! Mais entre la première utilisation et la seconde, il s’agissait bien du même fil, mais utilisé différemment afin d’en obtenir une nouvelle fonctionnalité. Et bien si on reprend ce principe est qu’on l’applique à notre cas, l’IEEE 802.15.4 sera notre fil et Thread serait l’ADSL (bon, je précise que j’extrapole hein, je ne veux pas que les puristes m’insultent, de toute manière ils ont dû passer à l’autre paragraphe donc je suis tranquille xD). Et vous savez qui s’appuie également sur l’IEEE 802.15.4 ? Le Zigbee ! Qui se situe lui, sur la couche applicative ! C’est pour cela qu’on peut lire un peu partout qu’il suffirait d’une mise à jour software pour que de nombreux appareils deviennent compatible Thread.

Thread_structure

Mais du coup, qu’est-ce que cela apporte puisqu’on ne change pas de technologie “hardware”, mais uniquement software ?

Et bien Thread a été pensé pour répondre aux besoins initiés par l’afflux d’objets connectés et donc embarque l’IPV6 en natif : pas de jaloux, pas de chouchous (comme disait ma prof de math), chacun aura le droit à sa propre adresse IP et cela va grandement simplifier la communication avec vos box, hub, switch, balances connectés… que vous possédez déjà puisqu’ils évoluent tous via l’Ethernet et/ou Wifi sur ce protocole.

Ensuite, il y a ce qu’on appelle le commissioning. Kesako ?

Le commissioning c’est le fait d’appairer un nouvel arrivant (module domotique/objet connecté…) à un système existant. Sur la partie domotique avec des protocoles tels que le Z-wave ou l’EnOcean, cet appairage nécessite de mettre l’élément maître en inclusion (la box domotique) puis de connecter (électrifier) le module qui doit rejoindre le réseau, le positionner à proximité (oui oui, sinon ça galère !) et de faire une manipulation PHYSIQUE dessus (ex : appuyer 3 fois sur un bouton) pour que les deux se “découvrent”. Le maître lui attribue alors une adresse unique au sein de son réseau et rend ainsi le module disponible pour qu’on lui affecte une fonctionnalité.

C’est aussi chiant à faire en vrai que de lire les phrases précédentes ! Dites-vous déjà que pour réaliser l’installation d’un appartement avec une vingtaine de modules, ça prend un certain temps (car en plus il faut le faire un par un), alors imaginez maintenant si vous devez déployer l’intégralité d’un building avec plusieurs appartements ! Et vous vous dites, bon, on va mettre une personne par appartement pour s’en occuper, et bien… ça peut créer des conflits ! Les ondes traversant les murs, si 2 maîtres sont en mode inclusion et qu’on essaie de faire l’appairage avec 2 modules, aie aie aie ! Une solution serait de faire des cages de Faraday

C’est l’une des raisons pour laquelle la domotique a du mal à percer, car elle n’a pas été pensée, à l’origine, pour être industrialisée et cette partie chronophage est forcément coûteuse en temps (jusqu’à 1 à 2 jours) et en argent (jusqu’à 20% du prix d’une installation) !

Imaginez maintenant que vous n’ayez plus à appuyer sur un bouton physique, ni mettre la box en inclusion. Il suffirait d’alimenter votre nouveau module Thread pour que de lui-même il dise “Hey salut ! Je suis là, je suis là, je suis là” et que via une application sur votre smartphone, vous puissiez répondre (à ce relou) “Hey salut toi ! Bienvenue chez moi, fais comme chez toi !” et hop, il fait partie du réseau et vous pouvez dès à présent lui attribuer une fonction, pas mal non ?

Et si j’ai une grande maison et que mon module doit se trouver à l’autre bout ?

Et bien plusieurs protocoles exploitent déjà ce qu’on appelle un réseau maillé ou “mesh”. C’est le cas de Thread, du Z-wave et d’autres, mais surtout bientôt du Bluetooth (oui oui, vos objets Bluetooth pourront bientôt communiquer entre eux, wait&see). Un réseau maillé permet d’utiliser chaque élément le composant comme un répéteur d’un ordre. Ainsi, si votre box est loin du module qu’elle doit contrôler, ce n’est pas grave, puisque tous les éléments entre la box et le module à contrôler vont relayer l’ordre afin que ce dernier puisse l’exécuter ! Et vu qu’on est sur un protocole bidirectionnel, ce module va pouvoir répondre via ce même chemin. Donc plus on a de modules, plus notre réseau est fiable et couvre une grande surface ! et qui dit grande surface dit…

Question de la sécurité alors ?

Et bien là encore, les gars de chez Google ont fait travailler leurs méninges puisque l’intégralité du système est sécurisée ! Comment et par quoi ? Et bien déjà la couche hardware IEEE 802.15.4 intègre déjà une première sécurisation, puis l’IPV6 ajoute tout ce qu’on connaît TLS, DTLS, SSL…et enfin, ils ont renforcé la sécurité sur les identifications au niveau de l’appairage et de l’organisation du système. On retrouve ainsi des “Border router”, qui doivent assurer les communications avec les autres réseaux (Wifi/Ethernet) par exemple le OnHub, LE “Thread Leader”, qui administre le réseau et prend les décisions, il est élu au suffrage universel par l’ensemble des modules. Il n’y en a qu’un et s’il devait être enlevé, remplacé ou tirer sa révérence, les autres modules en éliraient un autre instantanément parmi les “Thread Router”. Ce sont les “relayeurs” d’informations et les artères du système. Enfin, il y a les “End device” qui eux sont sollicités qu’en cas de besoin et peuvent donc être mis en veille afin d’économiser de l’énergie.

Thread_network

On parle de Thread, mais OpenThread alors ?

C’est la même chose, mais en Open ! Thread était jusqu’à présent réservé à une élite (enfin ceux qui peuvent se permettre de mettre minimum 2500$)…ça signifie que si vous n’aviez pas l’argent pour vous acquitter du ticket d’entrée, vous ne pouviez pas accéder aux codes et ainsi l’exploiter sur un objet. Tout comme : HomeKit, Z-wave, EnOcean, Zigbee, Brillo, Weave, Alljoyn, Bluetooth, X2D, EIB/Konnex, KNX, Io-controle, Somfy RTS, DIO, DIO 2…ahah, vous voyez où je veux en venir ?

Chacun y va de son protocole (c’est ultra lucratif, entre 2500$ à 100k$ pour devenir membre !). Mais l’effet néfaste, c’est qu’avec un si grand nombre de protocoles, la domotique a des difficultés à se démocratiser. En effet, lorsque vous souhaitez vous équipez d’une solution complète, vous devez au préalable réaliser des recherches sur qui fonctionne avec qui, et le grand public n’en a que faire et s’oriente donc vers des solutions propriétaires. Et la, c’est le drame : fini la possibilité de faire évoluer son système ou de le rendre interopérable…(Heureusement que des sites comme MaSmartHome existent ! Je dis ça, je dis rien :))

Petite question : est-ce que vous vous souvenez du HD-DVD ? Pour vous rafraîchir la mémoire, il s’agissait du concurrent du Blu-ray ! Il y avait à l’époque 2 coalitions dans lesquelles Toshiba, Microsoft, NEC et Intel s’opposaient à Sony et TDK. On connaît aujourd’hui les vainqueurs, car il ne devait en rester qu’un ! Pourquoi n’a-t-on pas ce genre de guerre franche aujourd’hui ? Tout simplement parce que tous les constructeurs ont peur de perdre ! (je les comprends en même temps)

Maintenant, vous voulez rire un peu ?

Aller voir les membres de chaque grosse alliance :

Quelque chose vous choque ? Oui, on retrouve souvent plusieurs fois les mêmes constructeurs xD

Ainsi, vous retrouverez dans le Thread Groupe plus de 230 membres, parmi eux : NXP, Qualcomm, Silicon Labs, Microsoft, D-Link, Samsung, Philips, Whirlpool, Somfy, Legrand, Velux, Schneider Electric, MyFox, SmartThings…

En effet, chacun paie pour être sûr d’être à jour sur les différents protocoles et de ne pas manquer celui qui risque de prendre la tête du peloton. Sachant qu’il y a environ 200 nouveaux projets d’objets connectés qui fleurissent par jour (j’ai sorti un chiffre au hasard, mais il y a en a beaucoup !) et qu’il faut donc s’acquitter d’un droit d’entrée pour accéder aux codes et à la certification, peu d’entreprises on la capacité financière d’intégrer chaque alliance et chaque techno, il faut donc choisir. Ainsi Nest a décidé de diffuser le code de Thread via OpenThread (github) afin qu’un maximum de constructeur d’objets connectés intègre leur protocole dans leur développement de produit, et ce, de manière totalement gratuite. Bien entendu, lorsque le produit sera finalisé et prêt à être commercialisé, il faudra certainement payer pour être en mesure d’être certifié officiellement.

https://www.youtube.com/watch?v=kuWhtkv5Qbc&feature=youtu.be

Faut-il avoir l’espoir qu’un jour tous nos objets communiquent ensemble ?

Ils le font déjà ! Heureusement ! Des box multiprotocole ont le mérite d’exister (ex : Jeedom), les constructeurs fournissent maintenant des API et permettent donc aux objets de communiquer entre eux en local ou via du cloud (IFTTT en est le plus bel exemple) et l’initiative de Nest ne peut être que saluée ! Bref, vous savez maintenant tout ce qui se trame dans la guerre aux protocoles, mais n’oubliez pas, il y a de nombreuses solutions pour bénéficier d’un logement connecté, il faut juste bien sélectionner vos produits et ne pas vous orienter vers des protocoles propriétaires qui eux, ne vous permettront pas de faire de l’interopérabilité ou encore de faire évoluer votre système.