Il y a quelques mois, nous vous présentions différentes solutions Open Source (LightsControl, AgoControl, HomeGenie…) qui visent à transformer votre Raspberry Pi en box domotique low cost. Le désormais célèbre Raspberry Pi a toujours le vent en poupe et de nouveaux projets similaires ont vu le jour. C’est le cas du projet Domoticz, que nous vous proposons de découvrir dans cet article.
Ces précédentes solutions s’adressaient plutôt à un public de personnes à l’aise dans le domaine du DIY, mais nous allons voir ici que les choses sont désormais rendues beaucoup plus accessibles à celles et ceux qui voudraient s’essayer à la domotique dite « fait maison ».
Le projet Domoticz
Ce projet Domoticz, open source et gratuit, se définit comme une solution légère, disponible sur diverses plateformes (Raspberry Pi, Unix, Apple, Windows …) et permettant le contrôle d’équipements variés tels que relais de commutation, gradateurs de lumières, détecteurs d’ouverture de porte, capteur de température et d’humidité…le tout via divers protocoles tels que Z-Wave, RF 433, EnOcean…
On voit donc là tout de suite un des intérêts de cette solution qui ne vous limite donc pas à un choix unique de plateforme et/ ou de protocoles de communication, mais qui au contraire saura s’adapter selon vos besoins et les équipements qui sont déjà en votre possession…
Comme indiqué dans le précédent article, le Raspberry Pi de part son faible coût, sa faible consommation, et une communauté très active, s’avère le candidat idéal pour héberger ce genre de solutions, et c’est avec lui que va se dérouler notre test. On sélectionnera un modèle B de préférence pour des raisons de performances.
La gamme radio RF 433MHz
Notre précédent article se basait sur la technologie radio Z-Wave, nous nous intéresserons cette fois ci à la famille de périphériques radio RF 433Mhz peut-être moins performante, mais beaucoup plus économique, car présente sur le marché depuis longtemps. Le RF 433MHz est utilisé au sein de nombreux périphériques et distribué par de nombreux constructeurs (Chacon, Oregon Scientific, OWL, Blyss, X10 RF…). Autre avantage : ces périphériques sont facilement trouvables (Internet, grandes surfaces de bricolage…)
La passerelle de contrôle RF
Afin de pouvoir communiquer avec ces périphériques RF 433MHz, nous avons choisi d’utiliser le dongle USB RFXtrx433 produit par RFXCOM. Ce dongle fait office de passerelle Radio entre l’équipement informatique auquel il est relié (ici, notre Raspberry) et les divers périphériques RF 433MHz qu’il est en charge de contrôler.
Un point intéressant pour ce produit est qu’on peut le faire évoluer en reprogrammant son firmware, afin de supporter les nouveaux périphériques que l’équipe de RFXCOM ajoute régulièrement. Ceci assure une certaine pérennité au produit. Une liste détaillée des périphériques actuellement supportés est disponible au chapitre 2.2 du guide utilisateur (RFXtrx User Guide – FR.pdf)
Installation du Raspberry
Cette fois ci, le travail est mâché par l’équipe de Domoticz car une image carte SD pour le Raspberry est directement disponible dans la page de téléchargement ! Donc pas besoin là de passer par des étapes parfois fastidieuses d’installation, de mise à jour, de compilation et de configuration manuelle pour pouvoir mettre en place et tester cette solution. (Si néanmoins vous vouliez procéder de la sorte, le fichier INSTALL.txt disponible dans le package du code source vous y guide pas à pas.)
Rendez vous donc à l’adresse suivante http://sourceforge.net/projects/domoticz/files et téléchargez la dernière version disponible de l’archive pour le Raspberry Pi comme indiqué ci-dessous (attention, ne vous fiez pas à celle indiquée par « Looking for the latest version » !) .
Après avoir téléchargé le fichier domoticz-raspberrypi-sdcard-r1_1396.zip, il suffira de le décompresser puis de copier sur une carte SD (4Go minimum) l’image qu’il contient (voir l’article précédent pour l’utilisation de Win32DiskImager sous Windows ou la commande dd sous Linux).
Première mise en route
Notre interface RFXCOM sera de préférence reliée à notre Raspberry Pi via un hub USB autoalimenté, pour éviter toute instabilité du système due à une surconsommation. Insérez votre carte SD dans le Raspberry Pi, connectez votre Raspberry Pi à votre réseau, et c’est parti ! Une fois que votre Raspberry Pi aura démarré, retrouvez son adresse IP (attribuée par DHCP) en faisant par exemple un petit tour dans les écrans d’infos de votre box internet…
Grace à cette adresse IP, nous allons pouvoir nous connecter directement à l’interface Web de configuration et de pilotage de Domoticz. En effet, cette distribution Domoticz est configurée pour démarrer automatiquement, et il n’y a rien d’autre à faire. Domoticz utilise ainsi le Raspberry pi en tant que serveur headless, il n’est donc pas obligatoire d’y connecter clavier/souris/écran…. Un bon point pour pouvoir tester cette solution rapidement.
Lancez alors votre navigateur préféré, et saisissez l’URL http://<ip du raspberry> :8080
Vous devez arriver sur l’écran suivant qui présente le tableau de bord, présentant différents onglets et rassemblant tous les favoris qui seront définis ultérieurement.
Configuration
Commençons par configurer Domoticz via le menu Setup/Application Settings pour que l’interface soit affichée en français. En effet, et c’est un des autres points remarquables de cette solution, un effort particulier a été porté à ce que l’interface puisse être présentée dans différentes langues.
Il faudra ensuite configurer les différents types de contrôleurs que l’on possède pour que Domoticz puisse piloter nos différents périphériques. Pour cela, rendez vous dans l’onglet Configuration/Matériel, ou l’on crée une entrée pour notre interface RFXtrx433. Le port COM associé est automatiquement reconnu. Encore un bon point, pas besoin de lancer des commandes obscures pour déterminer quel est le port USB associé à notre RFXtrx433.
Sélection des périphériques à contrôler
L’onglet Configuration/Périphériques nous présente alors les différents périphériques qui auront été automatiquement détectés car émettant périodiquement des trames RF 433MHz. C’est le cas ici pour une sonde de température et d’humidité Oregon Scientific THGR122.
Notez qu’un périphérique Système de type sonde de température est disponible par défaut : il s’agit du Raspberry Pi lui-même ! Il sera ainsi possible de suivre la température de notre petit CPU….pratique !
Dans notre test, après avoir associé une Télécommande Chacon 16- canaux avec son module prise variateur 300W, on voit que l’interface RFXtrx433 reçoit et décode bien les trames RF 433MHz qui sont émises par la télécommande pour piloter la prise.
On sélectionnera alors parmi l’ensemble des périphériques détectés ceux que l’on veut contrôler ou monitorer à travers Domoticz en utilisant la petite flèche verte. Pour chaque périphérique importé, un nom unique nous est demandé afin de pouvoir facilement identifier le périphérique.
On pourra aussi choisir d’effectuer l’importation de ses périphériques de commande manuellement ou par détection automatique en utilisant les boutons Ajout manuel ou Détection automatique présentés dans l’onglet Interrupteurs. Alors que le mode manuel nécessite de connaitre les différents paramètres et identifiants du périphérique à importer, ce qui n’est pas forcément trivial, le mode détection automatique s’avère très pratique, et nous avons ainsi pu très rapidement importer et nommer chacun des 4 boutons de notre télécommande Chacon. Bien vu !
Il ne nous a fallu au final que quelques minutes pour mettre en place le système et pour importer les différents périphériques de notre test. Notre RaspberryPi est ainsi prêt à monitorer les relevé de température et d’humidité de notre THGR122, est prêt à recevoir les ordres de notre télécommande Chacon 16 canaux et à piloter la prise variateur associée.
Le tout sans avoir saisi la moindre ligne de commande ou la moindre phase de configuration de fichier… L’environnement Linux est ici totalement masqué et tout est fait pour que le néophyte puisse s’en sortir. C’est remarquable.
Utilisation
Nous pouvons maintenant passer aux choses intéressantes !
L’interface de Domoticz présente les signets suivants :
- Accueil où l’on retrouve ses favoris.
- Interrupteurs, au sens large du terme, qui regroupe les télécommandes et périphériques de gradation ou de commutation,
- Groupes et Scènes
- Températures, qui regroupe les capteurs de température et d’humidité
- Météo, pour les capteurs type anémomètre, pluviomètre, pression atmosphérique
- Mesures, pour les périphériques pouvant remonter des informations sur la consommation électrique.
Nos différents périphériques sont donc classés automatiquement selon leur type dans ces différents onglets, ce qui est agréable, l’interface utilisateur ne donnant jamais un sentiment de trop grande complexité, on s’y retrouve toujours facilement.
Les périphériques sont affichés avec des icônes reflétant leur état actuel et on retrouve les valeurs numériques des différentes sondes. L’information est claire et bien présentée. Bien entendu, on peut piloter son installation du bout de la souris en cliquant sur les différents widgets de type interrupteurs, groupes, scènes que l’on aura défini. Noter qu’il faut attendre quelques secondes pour que l’interface de contrôle se mette à jour et puisse afficher l’état actuel des périphériques.
Il est possible de sélectionner différents types d’icônes pour vos interrupteurs selon l’équipement qu’ils commandent : point lumineux, prise ON-OFF, VMC, TV… afin de rendre l’interface encore plus représentative et intuitive.
Il est également possible de sélectionner au niveau du menu Configuration/Paramétrage de l’application quels sont les onglets que vous ne voulez pas voir apparaitre. Ceci est pratique si m’on souhaite alléger encore plus l’interface lorsqu’on ne dispose pas de capteurs de type météo par exemple.
Domoticz offre ainsi la possibilité de configurer l’interface de contrôle selon les goûts de chacun.
Groupes/Scènes
Les groupes permettent de regrouper dans un même widget différents périphériques de type interrupteurs et l’on pourra alors ainsi commander d’un seul clic l’allumage ou l’extinction de tous les périphériques associé à ce groupe. Parfait pour les commandes d’allumage ou d’extinction de l’ensemble des éclairages d’une pièce par exemple.
Une scène quand à elle permet de regrouper dans un même widget différents périphérique de type interrupteur avec pour chacun d’eux un état prédéfini. On pourra ainsi définir par exemple différentes ambiances d’éclairage (repas/lecture/tv….).
Planification de mise en marche/arrêt
Il est possible de planifier l’activation ou la désactivation d’un périphérique, d’un groupe ou d’une scène selon différents critères. Si vous avez pris soin au niveau du menu configuration/paramètres de l’application de définir vos cordonnées géographiques, vous pourrez vous appuyer sur les heures de lever et de coucher du soleil automatiquement mises à jour par le système.
Cette fonctionnalité est très pratique par exemple pour s’assurer qu’il ne restera pas de lampe laissé allumée une fois tout le monde couché, ou pour mettre en route la cafetière automatiquement le matin, sans oublier de la couper ½ heure plus tard !
Notifications
Lors du changement d’état d’un de vos périphériques, ou sur dépassement d’une valeur seuil d’une sonde, vous pouvez en être notifié au niveau de votre Smartphone, via le service Prowl pour vos iDevices ou via NMA sous Android. Pour cela, il faudra au préalable avoir renseigné sa clé Prowl ou NMA au niveau du menu Configuration/Paramètres de l’application.
Il est également possible de définir pour les interrupteurs des scripts LUA ou des URL qui seront appelés lors d’un changement d’état.
Le système est donc suffisamment ouvert, et on pourra s’appuyer sur différents services du Cloud tels que IFTTT, LiveNotifier, Pushingbox, pour pouvoir étendre ces notifications…
Graphes
On va bien sûr pouvoir suivre l’évolution des différents paramètres reportés par nos sondes, grâce à des graphiques détaillés et personnalisables. Des exports sous forme de fichier graphiques sont même prévus.
Evénements
Domoticz pousse encore les limites en offrant à travers l’éditeur d’évènement, quelque peu caché dans le menu Configuration/Plus d’options/Events, la possibilité de définir des scénarios de façon intuitive à l’aide d’un éditeur graphique. On retrouve ici le fameux système Puzzle qui a également été sélectionné par l’équipe de la Zipabox… Encore une fois, pas une seule ligne de code n’est à saisir, tout est faisable à la souris et de façon intuitive comme le montre l’exemple de l’activation d’une VMC ci-dessous :
Là encore, il faut reconnaitre que l’équipe de Domoticz a su choisir un outil simple mais suffisamment puissant pour que l’utilisateur puisse aisément écrire des scénarios plus ou moins complexes, sans pour autant devoir posséder des connaissances poussées en développement. Un excellent choix.
Profils utilisateurs
Une option intéressante proposée par Domoticz est la création de profils utilisateurs (menu Configuration/Plus d’options/Modifier les utilisateurs). Les différents profils utilisateurs que l’on peut créer peuvent présenter des privilèges plus ou moins élevés (Administrateur, Utilisateur, Spectateur), et l’on peut choisir pour chaque profil les différents onglets que l’on souhaite afficher sur l’interface de contrôle.
On peut enfin associer pour chaque profil défini tout ou partie des périphériques gérés par le système en cliquant sur le bouton « Paramétrer les périphériques ».
Ces profils utilisateurs seront sélectionnés (couple login/password) lors de la connexion à l’interface de contrôle. Ainsi, l’interface de contrôle adapte l’affichage selon le profile utilisé lors de l’identification et l’on peut ainsi rendre l’interface de contrôle accessible à différents types de public, en ne présentant que les informations ou widgets nécessaires.
Conclusion
On l’aura remarqué, un gros travail de design et d’intégration a été effectué et ainsi l’équipe Domoticz nous présente une solution qui se différencie en visant à simplifier au maximum sa mise en route et son utilisation. L’interface de contrôle est très paramétrable, et s’avère rapide et agréable à l’utilisation. L’application est d’une très bonne stabilité, nous n’avons rencontré aucun problème de plantage lors de nos tests.
Ainsi, le néophyte pourra oser se lancer et se concentrer sur son projet domotique sans se retrouver bloqué par un environnement Linux qui pourrait parfois lui faire peur, le tout pour un budget très raisonnable.
Il reste certes encore quelques libellés ça et là qui n’ont pas encore été traduits, quelques bug d’affichage….mais espérons que ces défaut de jeunesse seront vite corrigés, car les bases sont là.
Domoticz est donc un projet qui est à la porté de tous et permettra, espérons le, à nombre de personnes de franchir le pas.
A vous de jouer !
PS : Un grand merci à Jean-Bruno pour ce superbe article.