Domotique : Partie 8 – Ajout du support du Z-Wave dans Domoticz

Cet article fait partie de la série Domotique (18 articles au total)

Aujourd’hui on va parler de Z-Wave, ce protocole domotique qui a le vent en poupe et on va voir comment l’intégrer à notre système existant.

Avant de démarrer, voici deux mots sur la domotique et les protocoles : en domotique, contrairement à l’informatique, on n’a pas un protocole standardisé qui fédère les constructeurs. Chacun prêche un peu pour sa paroisse et on voit sortir chaque année de nouveaux protocoles qui cherchent à s’imposer avec plus ou moins de succès.

Dans mes précédents épisodes domotiques, j’ai utilisé des modules et des sondes qui parlaient des protocoles différents. Leurs fréquence étant commune (433Mhz pour les intimes), mon récepteur (le RFXCom) parvenait à discuter avec chacun d’eux sans problème.

Cet article fait partie d’une série dédiée à la domotique dont vous pourrez trouver le sommaire au bas de cet article.

 

De nouvelles problématiques

Pendant plusieurs années, j’ai donc utilisé avec succès différents modules plus ou moins prévus pour la domotique dans le cadre de l’automatisation de mon quotidien. Il y a quelques mois j’ai déménagé pour un logement plus grand et me voici confronté à de nouvelles problématiques :

Des soucis de portée : certaines de mes sondes situées en périphérie de mon logement ne sont pas toujours à portée de ma centrale. Cela varie en fonction de la météo, de la configuration de mes portes/fenêtres, le niveau de batterie etc… Ce qui conduit à une perte de précision dans mes relevés.

Une prise de conscience en matière de sécurité : quand j’ai commencé la domotique en 2010, j’étais un peu un ovni dans mon entourage (pourtant très technophile) et je n’avais pas à me soucier d’éventuelles compromissions de mon système. Maintenant que de plus en plus de monde s’y met, je préfère prévenir que de voir mon voisin Roland jouer avec mes lumières :)

La réponse du Z-Wave

Parmi les protocoles domotiques qui ont le vent en poupe, on trouve le Z-Wave. Ce protocole, conçu pour une utilisation sans-fils, répond à mes soucis : en proposant un fonctionnement en réseau maillé, chaque module répète les ordres à destination de ses voisins de manière à ce que même les plus éloignés du cœur du système restent joignables. En chiffrant les communications entre les modules et le cœur du système il répond aussi à mes inquiétudes en matière de sécurité.

Parmi ses autres avantages, on citera :

  • le fait qu’il soit promu par plusieurs dizaines de constructeurs (il existe plusieurs centaines de modules Z-Wave sur le marché)
  • la communication bi-directionnelle entre module et centrale domotique : le module peut ainsi signaler son état au cœur du système, en l’occurrence mon RaspberryPi avec Domoticz.

Ajouter du Z-Wave dans Domoticz

Domoticz a l’avantage de supporter de nombreux protocoles, à conditions de lui adjoindre l’interface physique adéquate. Il me fallait donc en trouver une pour que mon RaspberryPi puisse « parler » Z-Wave. Attention dans votre quête, la fréquence de fonctionnement du Z-Wave varie selon votre position sur le globe. En Europe le Z-Wave utilise la fréquence de 868Mz contre 915Mh en Amérique du nord.

Quelle interface Z-Wave choisir ?

Pour ajouter à Domoticz la faculté de recevoir et émettre des ordres Z-Wave, il existe deux interfaces assez populaires sur le marché : la carte fille Razberry de ZWave.Me et le Z-Stick S2 d’Aeon Labs au format « clef USB ». Ces deux interfaces sont vendues sensiblement au même tarif (un peu moins de 60€) mais ont quelques différences qui m’ont poussé à opter pour le module Aeon Labs. En effet, la carte Razberry de ZWave.Me ne peut-être utilisée que sur un RaspberryPi, ce qui me semble limité en terme d’évolution du système. Autre avantage du ZStick d’Aeon Labs : il possède une petite batterie qui permet de se déplacer dans le domicile pour y associer les différents modules Z-Waves (un peu à la manière des télécommandes Chacon).

Le Razberry, une interface un peu trop orientée RaspberryPi à mon goût
Le Razberry, une interface un peu trop orientée RaspberryPi à mon goût
zstick_s2
Le Z-Stick S2 d’Aeon Labs est l’interface Z-Wave que j’ai retenu

Intégrer le Z-Stick S2 d’Aeon Labs dans Domoticz

Concrètement il n’y a pas grand chose à faire pour que ça marche dans Domoticz, mais si vous avez comme moi un RFXCom, il y a une petite manipulation à respecter pour éviter des problèmes à l’avenir ! En effet, au démarrage du RaspberryPi, le système attribue au RFXCom et au Z-Stick des adresses du type « /dev/ttyUSB0 » ou « /dev/ttyUSB1 ». Si l’on ne fait rien, ces adresses peuvent changer et donc empêcher Domoticz de joindre ces périphériques.

Attribuer un nom persistant au ZStick (et au RFXCom)

Pour contourner le problème, on va déclarer des alias pour chacun des périphériques, de manière à ce qu’ils aient toujours les mêmes adresses. Pour ce faire, il va falloir ajouter un fichier dans le répertoire /etc/udev/rules.d du RaspberryPi. J’ai intitulé mon fichier « domoticz.rules » et voici le contenu :

SUBSYSTEM=="tty", SUBSYSTEMS=="usb", ENV{ID_VENDOR}=="RFXCOM", SYMLINK+="ttyUSB10" 
SUBSYSTEM=="tty", SUBSYSTEMS=="usb", ENV{ID_VENDOR}=="Silicon_Labs", SYMLINK+="ttyUSB11"

Ces 2 lignes vont permettre au système d’attribuer systématiquement l’adresse /dev/ttyUSB10 au RFXCom et /de/ttyUSB11 au ZStick. On va désormais pouvoir passer aux choses sérieuses dans Domoticz :)

Une fois le fichier sauvegardé, redémarrez le raspberryPi. Vous pouvez vérifier la prise en compte du fichier avec la commande ls -lh /dev/ttyUSB*

pi@vesta2 ~ $ ls -lh /dev/ttyUSB*
crw-rw---T 1 root dialout 188, 0 Jan 28 12:05 /dev/ttyUSB0
crw-rw---T 1 root dialout 188, 1 Jan 28 13:40 /dev/ttyUSB1
lrwxrwxrwx 1 root root         7 Jan  1  1970 /dev/ttyUSB10 -> ttyUSB0
lrwxrwxrwx 1 root root         7 Jan  1  1970 /dev/ttyUSB11 -> ttyUSB1

Déclaration du Z-Stick dans Domoticz

Maintenant que le Z-Stick est reconnu par le système d’exploitation, il nous reste à le déclarer dans Domoticz.

Attention : pour une raison que j’ignore, les manipulations décrites ci-dessous doivent être effectuées depuis Chrome et pas Firefox. En effet sur le navigateur de Mozilla, les alias créés précédemment (comme ttyUSB10) ne sont pas visibles, j’ignore pourquoi…

Les captures d’écran ci-dessous sont effectuées avec la version 2.2252 de Domoticz affiché en anglais.

Allez dans l’onglet Setup / Hardware où vous retrouverez votre RFXCom.

L'onglet Hardware avant l'intégration du Z-Stick S2 d'Aeon Labs
L’onglet Hardware avant l’intégration du Z-Stick S2 d’Aeon Labs

Si vous avez un RFXCom et que ça n’est pas déjà fait, je vous conseille de définir son « Serial Port » sur /dev/ttyUSB10 afin d’éviter des surprises à l’avenir.

Pour ajouter le ZStick, complétez ensuite le formulaire en bas de page avec les valeurs suivantes :

  • Name : le nom de votre choix (j’ai choisi ZStick S2 dans mon cas)
  • Type : OpenZWave USB
  • Data Timeout : Disabled
  • Serial Port : /dev/ttyUSB11
Formulaire à remplir pour ajouter le Z-Stick
Formulaire à remplir pour ajouter le Z-Stick

Et enfin cliquez sur « Add« . Voilà ! Domoticz est configuré.

Je vous conseille de redémarrer le RaspberryPi une dernière fois pour vérifier que tout fonctionne correctement :) Domoticz devrait retrouver ses petits au démarrage et présenter à la fois le RFXCom et le Z-Stick dans les interfaces disponibles.

Interfaces disponibles dans Domoticz. On voit le Z-Stick aux côtés du RFXCom
Interfaces disponibles dans Domoticz. On voit le Z-Stick aux côtés du RFXCom

Et maintenant la suite ?

Cette étape terminée, vous voilà avec un Domoticz capable de « parler » à la fois Z-Wave et RFXCom. Cela aura pour avantages de choisir les modules les plus adaptés dans chacune de ces technos en fonction de vos besoins/votre budget/la criticité des applications mises en œuvre.

Dans mon prochain article domotique, je vous parlerai donc d’un capteur Z-Wave que j’ai ajouté à mon système et qui pourrait en intéresser plus d’un ;) A très vite !

 

Tous les articles de la série Domotique

Domotique : Partie 8 – Ajout du support du Z-Wave dans Domoticz

24 réflexions au sujet de « Domotique : Partie 8 – Ajout du support du Z-Wave dans Domoticz »

  1. Hello Alkarex,

    Si l’on devait comparer techniquement Z-Wave et Zigbee, Zigbee gagne sur presque tous les fronts (meilleure portée, plus faible consommation énergétique, nombre maximum de nœuds supérieur, etc…). Le problème avec le Zigbee c’est que chacun peut proposer son implémentation du langage de communication utilisé, contrairement au Z-Wave où tous les appareils sont certifiés par une seule et même entité. Ceci nuit à l’interopérabilité et cela explique pourquoi les appareils Zigbee d’un constructeur A ne pourront pas forcément communiquer avec les appareils Zigbee d’un constructeur B. Toujours d’un point de vue utilisateur, l’offre en terme de module Z-Wave est immense contrairement aux modules Zigbee.

    Voilà, je ne sais pas si ma (courte) réponse vous satisfait, j’avoue que je croise relativement peu de device Zigbee et que s’il fallait trouver un challenger au Z-Wave, je lorgnerais plutôt du côté du protocole EnOcean :)

    Alexandre

  2. Bonjour,

    Tu déclines le raZberry car trop orienté Raspberry ce qui est recevable, par contre as tu réfléchis à la problématique de librairie sur laquelle repose ses deux contrôleurs ? Je rappel que raZberry est un controlleur officiel livré par Zwave et qui repose sur un (tout aussi officiel) serveur Z-Way, alors que pour tous les autres dongle USB (tu as retenu celui d’Aeon, mais il y a aussi celui de Sigma compatible ZWave+) qui reposent eux sur la librarie openZwave.

  3. Bonjour Axel,

    Ta remarques est intéressante, je vais tâcher d’y répondre du mieux que je peux !

    Sauf erreur de ma part, le Razberry n’est pas issu directement de la fondation ZWave mais d’une société privée « Zwave.Me », qui vend son contrôleur au même titre qu’Aeon Labs vend le Z-Stick. Ce qui est particulier au monde du Z-Wave et dont il faut avoir conscience, c’est qu’il n’y a qu’un seul constructeur au monde de puce Z-Wave : Sigma Designs. Du coup tous les contrôleurs Z-Wave, comme tous les modules qui utilisent cette techno sont basés sur des puces Sigma Designs.

    Concernant la librairie de gestion, c’est en effet un critère de choix et j’ai l’impression que tu vois un inconvénient là où moi je vois un avantage :) Effectivement, le contrôleur Razberry est piloté par une librairie propriétaire maintenue par la société qui le produit : ZWave.Me. Du côté du stick Aeon Labs, la librairie utilisée (OpenZWave), est une librairie open-source, commune à de nombreux projets domotiques et maintenue par une communauté de développeurs indépendants et bénévoles.

    Cela en étonnera certains, mais j’ai plus confiance en une communauté de personnes motivées pour le suivi d’un composant logiciel que dans une société privée qui n’existera peut-être plus dans quelques années ou aura délaissé son produit au profit d’un nouveau.

    Mais encore une fois, mon choix est personnel, et je comprendrai tout à fait que d’autres opte pour un contrôleur différent !

    Pour la petite histoire, j’ai les 2 contrôleurs que je mentionne, et si je suis passé du Razberry au Z-Stick c’est parce qu’il y avait plusieurs bugs à une époque dans Domoticz qui ne se posait pas avec le ZStick. Peut-être ont-ils été résolus depuis ?

    Enfin, j’aurais pu partir sur le contrôleur de chez Sigma (sobrement baptisé « UZB ») puisqu’il est apparemment supporté par OpenZwave et qu’il a la qualité intéressante d’être certifié Zwave+. Dommage qu’il ne permette pas comme le modèle d’Aeon Labs de se ballader avec le controleur de manière autonome afin de pouvoir inclure des périphériques disséminés dans tout l’habitat.

  4. Merci beaucoup de ta réponse ! Je n’avais pas réussi a obtenir une réponse aussi complète de la part de la communauté Jeedom. (Je suis surpris que tu ne parles pas de ce soft d’ailleurs, qui me semble plus sympa que Domoticz en terme d’activité de communauté et tout ça.. :) )

  5. A Axel : ne compare pas ce qui n’est pas comparable. j’ai testé les deux domoticz tourne au poil sur un raspberry, j’ai testé jeedom même sur un raspberry pi 2 c’est un tank. presque 5-8 secondes pour générer une page, ce n’est pas du tout utilisable.

    bonne soirée

  6. bonjour,
    dans le choix du type, je n’ai pas l’option OpenZwave USB, une idée de l’origine du problème ?
    merci

  7. Bonjour Jérôme,
    Tu utilises Domoticz sur un RaspberryPi ? Te souviens-tu comment tu as installé Domoticz ?
    Suivant tes réponses tu peux avoir effectivement des étapes supplémentaires à effectuer.

    Alexandre

  8. Bonjour,

    j’ai passé un certain temps à lire vos articles qui sont très bien, je viens de lancer une commande d’un raspberry pi 2 B et quelque accessoire pour démarrer. On peut dire que mon projet de domotique est lancé !!

    As tu migrer ton matériel intégralement en z-wave (gestion chauffage par exemple pilotage sonde, analyse des consommations électriques)

    Merci

  9. Bonjour Fabien,
    Non je n’ai pas migré totalement, je pense que pour certains postes (notamment les sondes de températures, le relevé de consommation électrique, etc…) le 433Mhz reste plus pertinent. Pour mes actionneur (luminaire, chauffage…) j’essaie de privilégier le Z-Wave mais le coût des modules est un frein… Honnêtement, en 2015, je pense que les solutions sérieuses sont multi-protocoles, et je n’exclue pas par exemple la possibilité de rajouter à l’occasion des périphériques EnOcean ;)

    Alexandre

  10. Bonsoir.
    Je tente de suivre votre tuto… et je bloque a l’installation du Dongle, il n’est pas reconnu sur l’usb de mon Pi 2.
    Le Rfxcom lui est ok sur ttyusb0 mais je n’en ai pas d’autre que ttyamc0 et ttyama0.
    Auriez vous une piste?

  11. Bonjour,
    Savez-vous si le Z-stick gen5 est compatible avec votre Z-Stick S2 ? Le Gen5 est Z-Wave+. Je me dis que tant acheter un dongle autant prendre le plus récent. Qu’en pensez-vous ?
    Bonne continuation
    Merci

  12. bonjour,
    J’ai bien copié les lignes suivantes dans un fichier domoticz.rules, pour installer mon Z-Stick, mais mon Raspberry ne me créé que le port USB10.
    Auriez-vous une idée du PB. J’ai fait plusieurs tentatives mais c’est toujours pareil.
    SUBSYSTEM== »tty », SUBSYSTEMS== »usb », ENV{ID_VENDOR}== »RFXCOM », SYMLINK+= »ttyUSB10″
    SUBSYSTEM== »tty », SUBSYSTEMS== »usb », ENV{ID_VENDOR}== »Silicon_Labs », SYMLINK+= »ttyUSB11″

  13. Salut à tous !
    Avec un Zstick GEN5 (Zwave+) le périphérique est reconnu comme /dev/ttyACM0
    La manip du fichier rules est alors inutile enfin tant que vous n’avez pas un autre prériph /dev/ttyACM*
    Pour info il est bien compatible !
    CF: Google et les forums
    Ciao et merci pour tes articles.

  14. Un grand merci pour le partage de vos expérience.
    Perso j’ai commencé avec une Zipabox qui me convenait très bien, je dis « me convenait » car depuis peu ces « cher » Mr de Zipato ont décidé de passer des services de base en payant et de plus la version du firmware n’étant pas stabilisée ils proposent régulièrement des màj, qui au final plante l’installation de base.
    Obligation donc de démonter la boite à volet pour resynchroniser le module Z-wave avec la box !!!
    Donc tout ça « out », ras-le-bol, et je suis passé en Domoticz sur mon NAS Synology DS213+ depuis 15jours.
    Pour l’instant les débuts sont prometteurs, aucun pb avec la carte Rfxcom 433Mhz.
    Je dois aller chercher ce soir au point relais le dongles Z-stick S5 et je vais faire mes 1er test ce W.E (pilotage chauffage et des volets ce que je faisait avec la Zipabox).
    Merci pour toutes vos infos.
    Fred.

  15. Bonjour Fred,
    Cette expérience permet de toucher du doigt les limites d’une solution propriétaire : on est dépendant de l’évolution du business model du constructeur et surtout, de son bon vouloir . Quand on parle de la stabilité de son domicile, c’est quand même un risque qui peut être lourd de conséquences. Je pense donc que vous êtes dans la bonne dynamique en passant sur domoticz. C’est moins « clé en main » qu’une box, mais ce qui est gratuit le restera :) Et en cas de problème, on peut en parler sur le forum avec les développeurs et autres utilisateurs :)

    N’hésitez pas à nous faire partager votre migration !

    Alexandre

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *