Utilisation du logiciel Domoticz sur un Raspberry Pi

par | Fév 27, 2014 | Domotique | 24 commentaires

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.

domoticz_RFXtrx433

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 » !) .

domoticz_sourceforge

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.

domoticz_dashboard

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.

domoticz_config

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.

domoticz_configrfxcom

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.

domoticz_selecthardware

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.

domoticz_selecthardware2

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.

domoticz_dashboard2

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….).

domoticz_groupscene

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.

domoticz_scheduling

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.

domoticz_notifications

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.

domoticz_scripturl

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.

domoticz_graphs

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 :

domoticz_events

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.

domoticz_userprofil

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 ».

domoticz_userprofil2

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.

Restez connecté sur l'actualité domotique!