Domoticz, Raspberry Pi et Z-Wave

par | Avr 30, 2014 | Domotique | 7 commentaires

Nous avons découvert dans un précédent billet la solution domotique open source Domoticz hébergée sur un Raspberry Pi. Cette solution nous avait particulièrement séduit de par sa rapidité de mise en route et ses fonctionnalités avancées et simples à mettre en œuvre. L’exploitation des modules radio de la famille RF433, grâce à la passerelle USB RFXtrx433 de RFXcom s’est déroulée sans problème particulier.

Il est temps de passer à la vitesse supérieure, en voyant comment Domoticz peut supporter d’autres technologies radio majeures dans le domaine de la domotique : les technologies Z-Wave, but de cet article et EnOcean, dans un article à paraitre.

L’intérêt particulier à l’utilisation simultanée de différents protocoles au sein d’une même installation domotique est que l’on s’offre un plus vaste choix de composants. On pourra ainsi sélectionner nos différents périphériques selon des critères de  fonctionnalité, de disponibilité, de design, ou  de budget… Le contrôleur domotique a alors pour rôle complémentaire :

  • de faire abstraction des différences existant entre ces différents protocoles en présentant les fonctionnalités de la façon la plus unifiée possible au niveau de l’interface.
  • permettre l’interopérabilité entre les différents protocoles, autrement dit, permettre que les tous les composants puissent interagir ensemble.

Nous allons voir qu’encore une fois Domoticz s’en sort très bien….

Domoticz et le Z-Wave

Intéressons nous tout d’abord  au support du Z-Wave, protocole supporté en natif par Domoticz. Pour que le Raspberry Pi puisse communiquer avec des  périphériques Z-Wave, nous nous baserons cette fois ci encore sur le dongle USB ZStick v2 d’Aeon Labs. Se reporter à l’article précédent  « Utilisez votre Raspberry Pi avec Open-Z-wave »  disponible sur notre blog pour obtenir plus de détails sur le protocole Z-Wave, sur le dongle ZStick v2 et sur la phase  de création d’un réseau Z-Wave.

Aeon_Labs_ZStick_S2_Z-Wave

Rappelons simplement que ce dongle USB présente une fonctionnalité intéressante : une fois débranché, il peut fonctionner de façon autonome (il est alors autoalimenté) et être déplacé afin de faciliter les inclusions et exclusions de périphériques lors de la création du réseau Z-Wave. On pourrait également s’appuyer sur l’extension RazBerry de Z-Wave.me, le principe d’utilisation au sein de Domoticz restant le même, mais la phase d’association des différents modules Z-Wave peut être un peu plus compliquée, cette extension n’offrant pas cette fonctionnalité de mobilité.

Configuration matérielle

Notre base de départ est la même que celle détaillée dans la première partie de cet article. Nous sommes donc en face de notre Raspberry Pi,  d’un Hub USB autoalimenté, auquel est connectée notre extension RFXcom et notre dongle ZStick. La phase de création du réseau Z-Wave avec nos différents périphériques aura été effectuée au préalable.

Raspberry_Aeon_Labs_ZStick_S2_RFXCOM

Donner un nom persistant aux devices USB-serie sous Linux

Avant de pouvoir déclarer nos différents dongles USB au sein de Domoticz, les choses se compliquent un peu car il va falloir pouvoir retrouver à coup sur à quels devices (de type /dev/ttyUSBx) ils sont associés. En effet, lors du démarrage du système, Linux n’attribue pas systématiquement le même nom de device aux différents périphériques USB détectés, et  notre configuration au sein de Domoticz risque de s’en retrouver quelque que peu perturbée…

LIRE
Jeedom : découverte du nouveau plugin Z-Wave JS

Nous allons donc créer des alias persistants  en utilisant les règles UDEV de Linux. Ainsi, même après un redémarrage du Rapsberry Pi ou l’ajout/suppression de nouveaux périphériques USB, notre alias sera toujours valide.

Cette configuration ne peut pas se faire hélas depuis l’interface WEB, il va falloir se connecter en SSH à notre Raspberry Pi et utiliser des lignes de commandes. L’équipe de Domoticz nous simplifie les choses, l’accès SSH étant actif par défaut dans l’image disque qui a été fournie. On utilisera classiquement un client SSH tel que Putty pour se connecter au Raspberry (le mot de passe par défaut est raspberry).

1ère étape : récupération des informations détaillées de chacun de nos devices.

On utilisera la commande udevadm qui nous remonte des informations très détaillées sur le périphérique USB contrôlé par tel ou tel device.

sudo udevadm info   –query=all    –name=ttyUSB0

Ici, nous pouvons voir clairement que le device /dev/ttyUSB0 correspond à notre RFXtrx433 :

Domoticz_udevadm

2eme étape : création des alias

On va alors créer dans le répertoire /etc/udev/rules.d  un fichier nommé 99-usb-serial.rules (attention, l’extension .rules est obligatoire). Ce fichier contiendra pour chaque alias que l’on veut créer une ligne du genre :

SUBSYSTEM==“tty“, SUBSYSTEMS==“usb”, ENV{ID_VENDOR}==”RFXCOM”, SYMLINK+=”ttyUSB10” 

Ici, on crée un alias persistant nommé ttyUSB10 pour le device associé à notre RFXCOM.

Attention : l’interface de configuration Domoticz ne remonte que les noms de device de la forme  /dev/ttyUSB* ou /dev/ttyS* ou /dev/tty.usbserial* ou  /dev/ttyAMA*. Ceci est un peu dommage car  il aurait été pratique de pouvoir nommer nos alias de la forme ttyRFXCOM, ttyZ-WAVE, ttyEnOcean… Nous avons donc choisi d’utiliser les valeurs suivantes (supérieures à 10) pour nos alias persistants:

ttyUSB10  pour le RF433
ttyUSB11 pour le Z-Wave
ttyUSB12 pour EnOcean
etc…

Au final, notre fichier 99-usr-serial.rules contient :

Domoticz_usb99

Le fichier 99-usr-serial.rules que nous avons utilisé pour nos tests est disponible au téléchargement  en cliquant ici. Il faudra alors redémarrer le Raspberry pour que nos modifications soient prises en compte.

3eme étape : vérification :

On pourra vérifier notre configuration avec la commande ls –l /dev/ttyUSB*, qui nous montre vers quel device pointent nos alias persistants :

Domoticz_lsmltty

Voilà hélas une étape un peu délicate, mais qui rassurez-vous ne sera à effectuer qu’une seule fois !

Déclaration du dongle USB ZStick v2

Le Raspberry Pi ayant redémarré, on se connecte à l’interface Web de Domoticz comme à l’accoutumée via l’URL http://<ip du raspberry> :8080.

En accédant au menu Configuration/Matériel, nous allons déclarer notre dongle USB ZStick v2 comme ci-dessous (on retrouve bien nos alias persistants au niveau du menu déroulant « Port série ») puis cliquer sur le bouton Ajouter.

LIRE
Shelly Qubino Wave 1, un module Z-Wave série 800 pas cher et efficace

Domoticz_AddZStick

Détection et importation des périphériques Z-Wave

Il suffira alors de cliquer sur le bouton Setup

Domoticz_setupzwave

…pour pouvoir accéder à la liste des périphériques qui ont été inclus précédemment dans le réseau Z-Wave…. On retrouve ici un WallPlug Fibaro, un micro module Smart Energy Illuminator et un Home Energy Meter d’AeonLabs

Domoticz_periphzwave2

On pourra accéder à la configuration des paramètres spécifiques (se référer à la documentation constructeur) du périphérique Z-Wave sélectionné dans la liste en utilisant les boutons « Request current stored values from devices » et « Apply configuration for this device ». Tous les périphériques Z-Wave ne sont pas actuellement reconnus (se référer au contenu du répertoire domoticz/Config pour plus de détails), mais quand c’est le cas, cette fonctionnalité s’avère extrêmement pratique ! La liste des équipements supportés sera très certainement enrichie au fur et à mesure des futurs releases de Domoticz.

Une fois cette configuration  terminée, l’onglet Configuration/Périphériques nous présente alors la liste de nos nouveaux périphériques Z-Wave de la même façon qu’au préalable pour nos modules RF433.

Domoticz_periphlist

Pour des périphériques Z-Wave présentant plusieurs fonctionnalités, comme de la commutation ON/OFF ET de la remontée d’information type puissance instantanée et consommation d’énergie, plusieurs entrées (de type Lighting, Usage et Energy) seront crées dans cette liste.

Comme auparavant, on sélectionnera les fonctions que l’on veut contrôler ou monitorer à travers Domoticz en utilisant la petite flèche verte. Pour chaque fonction importée, un nom unique nous est demandé afin de pouvoir facilement l’identifier. Noter hélas que l’on s’y perd un peu au niveau de cet écran, il n’est en effet pas toujours très facile de savoir rapidement à quel périphérique appartient telle ou telle entrée de la liste. Un point à améliorer pour les prochaines releases….

Utilisation

A partir de là, Z-Wave ou RFX433, tout se manipule à l’identique ! On retrouve donc également les fonctions de planification et de notification pour nos actionneurs Z-Wave au même titre que pour nos actionneurs RF433. Ce que l’on a appris précédemment en RF433 à travers l’utilisation de l’interface WEB de configuration s’applique de la même façon pour ce protocole Z-Wave désormais disponible. Hormis la phase de configuration, il n’y a rien de nouveau ou de spécifique à apprendre… La prise en main du système reste donc très rapide.

Et les choses intéressantes commencent car on peut alors enrichir nos différentes scènes/groupes, scénarios puzzle en mélangeant et combinant à souhait nos différents modules RF433 et Z-Wave….

On pourra par exemple :

– enrichir notre scène TousAOn pour allumer simultanément nos prises variateurs 300W Chacon RF433, nos WallPlug Z-Wave Fibaro et nos micros modules AeonLabs… Comme indiqué précédemment, on a ainsi tout loisir de positionner au sein de son installation domotique des types de périphériques différents que l’on aura choisi selon des critères de  fonctionnalité, de disponibilité, de design, ou  de budget…

LIRE
Découverte du capteur de température et humidité Z-Wave 700 Zooz ZSE44

– piloter notre micro module Z-Wave  Smart Energy Illuminator avec un des canaux de notre télécommande Chacon RF433 :

Domoticz_TelcoRf-Zw

Ainsi, notre télécommande  RF433 n’est plus seulement cantonnée à ne contrôler que des équipements RF433 mais peut désormais aussi piloter, par le biais de Domoticz, des périphériques Z-Wave… Et si inversement on possède une télécommande Z-Wave, on pourra utiliser le même principe pour pouvoir piloter de façon transparente des modules RF433… Voila une bonne façon de centraliser la gestion de divers périphériques sur une même et unique télécommande. Le WAF (Woman Acceptance Factor) s’en voit relevé de plusieurs points !

Suivi de consommation électrique

Les différents périphériques Z-Wave utilisés pour cet article (un WallPlug Fibaro , un micro module Smart Energy Illuminator et un Home Energy Meter d’AeonLabs ) permettent de remonter des informations de consommation d’énergie, qui sont prises en compte de façon très détaillées au sein de Domoticz.

Ces fonctions de suivi de consommation d’énergie sont présentées dans l’onglet « Mesures » et l’on a la possibilité de suivre les graphes de consommation instantanée et graphes d’énergie consommée.

Domoticz_energy2

Domoticz_energy

On pourra même obtenir un rapport mensuel de sa consommation, et en ayant pris soin de configurer le prix du kWh dans le menu Configuration/Paramètres de l’application, d’avoir une estimation du coût actuel de sa consommation.

Domoticz_rapportconso

Conclusion

L’intégration du protocole Z-Wave au sein de Domoticz est convaincante, tout est configurable directement depuis l’interface Web, sans ligne de commande ou autre manipulation compliquée.

On l’aura vu au travers de ces deux articles, une fois les périphériques importés, Domoticz permet de faire une totale abstraction du type de protocole utilisé. Que l’on soit face à un périphérique Z-Wave ou RF433, l’utilisateur n’a pas à s’en soucier et peut donc se concentrer sur la rédaction de son scénario ou de ses scènes.

Le maitre mot ici est encore une fois simplification pour l’utilisateur !

Domoticz ainsi utilisé en tant que serveur domotique multi protocoles offre ainsi une très grande souplesse et variabilité en termes de choix de composants pour votre installation domotique.

Comme indiqué dans le précédent article, il reste certes encore quelques petits bugs de jeunesse….mais espérons que le succès que rencontre Domoticz actuellement saura continuer de motiver les équipes de développeurs qui sont derrière ce projet.

Et comme promis, nous verrons dans un prochain article comment intégrer le support de la technologie EnOcean au sein de cette solution afin que tout le monde puisse y trouver son bonheur.

A  suivre… !

PS : Encore un grand merci à Jean-Bruno, notre expert Domoticz, pour cet article.

Restez connecté sur l'actualité domotique!