Utilisation du logiciel Domoticz sur un Raspberry Pi

domoticz

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.

Share on FacebookTweet about this on TwitterShare on Google+Pin on PinterestDigg thisBuffer this pageEmail this to someone

24 commentaires sur “Utilisation du logiciel Domoticz sur un Raspberry Pi

  1. Sébastien Joly dit :

    Super article, dommage qu’il ne soit évoqué les autres technologies EnOcean, Zwave, Piface …

  2. Jean-Bruno Richard dit :

    C’est en cours ;)….à suivre !

  3. Marbaf dit :

    Cet article tombe à point nommé, je suis à la recherche d’un soft « domotique » pour RPi et je me suis arrêté sur Domoticz qui me semble être l’un des plus aboutis (un problème avec la téléinfo à corriger 🙂 ).
    Hâte de lire la suite, merci.

  4. rol-rider dit :

    Bel article, j’ai installé et j’utilise Domoticz depuis 3mois, j’ai du mal à trouver des infos…..en français mais à force de persévérance…on y arrive.

  5. Dams dit :

    ça a l’air intéressant !! Est-ce compatible zigbee?

  6. dnis dit :

    Super l’article, je viens d’acheter un RFXtrx433E pour piloter les volets Somfy. La version 1680 de raspberry ne gère pas le RFY, Est-ce pour bientôt.

  7. Laurent_69 dit :

    Pour l’instant la fonction RFY est géré par la version bêta uniquement.

  8. Vincent dit :

    Bonjour,

    Dans un événement, je voudrais remettre la valeur d’un compteur à 0.
    Dans ma fonction, à la section « do », j’ai inséré un pavé « set »:
    set « moncompteur » = « 0″
    Cela ne fonctionne pas, quelqu’un aurait une solution ?

    Merci

    Raspberry+piface

  9. Stef dit :

    Bonjour,
    J’ai un problème avec l’appli Domoticz sur Raspberry. Le système n’est pas stable, au bout de quelques heures de fonctionnement domoticz passe en « off line » et impossible de relancer l’appli sans éteindre/rallumer le Raspberry.
    Pourtant mon Raspberry est branché sur sa propre alimentation et mon RFXCOM est branché via un hub usb alimenté.
    Qui peut m’aider, faute de quoi je devrais trouver une autre solution que le Raspberry ?
    D’avance merci
    Stef

  10. Stef dit :

    Bonsoir,
    J’ai fini par trouver la solution. Mon alimentation via un câble USB simple était un peu juste. L’utilisation d’un câble « double » (spécial disque dur) m’a permis de stabiliser le système. Je pense donc qu’il faut un hub USB avec une alimentation sérieuse pour le raspberry et le rfxcom.
    A+
    Stef

  11. Maximin dit :

    Bonjour,
    Merci pour votre retour, il est intéressant de savoir qu’une alimentation via câble simple n’est pas suffisante.

  12. Mello dit :

    Bonjour. Merci pour cet article. Quand vous parlez de script .lua, vous parlez aussi d’url qui sont appelés. Pouvez vous m’éclaircir ?

  13. Raillon Lilian dit :

    Savez-vous si il est possible que domotics reconnaisse un émetteur 433Mhz nomade (on en trouve a 3€ sur amazon) branché aux ports gpio de la rbp ?

  14. Maximin dit :

    Bonjour. Aucune idée, mais sa m’étonnerait. A ce prix à je doute également de la qualité et de la portée radio du matériel, mais comme on dit qui ne tente rien n’à rien! 😉 Si vous décidez de tester ce matériel, n’hésitez surtout pas à nous livrer vos impressions!

  15. Sebasto dit :

    bonjour, savez-vous si il est possible de coupler domoticz avec des puces nfc par exemple pour allumer toutes les lumières dès qu’on passe son smartphone sur la pucee de l’entrée du domicile? Merci

  16. Laurent_69 dit :

    Petite préférence pour JEEDOM qui est un logiciel français.

  17. bil dit :

    Bonjour,peux t on se passer du module rfxcom?en effet je possede un raspberry avec un emmeteur 433 connecté sur un gpio du raspberry qui me permet d allumer des prise chacon via une interface web.Est ce que domoticz reconnait des capteur de temperature conectés sur les gpio du raspberry ex:dht22 ou ds18b20?

  18. bil dit :

    Bonsoir a tous
    Je répond moi même a ma première question:
    peux t on se passer du module rfxcom?en effet je possède un raspberry avec un émetteur 433 connecté sur un gpio du raspberry?

    Apparemment oui (voir le lien ci dessous)

    http://forum.idleman.fr/discussion/395/domoticz/p1

    Je teste ça des que possible et je reviendrai faire mon petit compte rendu.Si d’autre personne essaye ce tuto je serai ravi d’avoir leur ressenti,impressions et pour quoi pas leur conseil ou leurs tuto.

    Bonne soirée à tous.

    Ha au fait en réponse à Maximin Domadoo,mon émetteur 433 connecté a mon raspberry est un emeteur premier prix et j ai une portée d’environ 40 metres.

  19. riviere 974 dit :

    bonjour, domoticz est SUPERT
    avec un rfxcom usb facile a mettre en place, juste il faut cocher le protocole
    de transmission réception (chacon et dio faut cocher ac et arc) cependant
    quelqu’un pourrait m’aider ?

    j’ai un zwave.me (module qui ce monte sur le port
    gpio ) je n’arrive pas a faire fonctionner avec domoticz ,
    et pas forum clair a ce le sujet.

    Conseille Eviter d’ acheter z wave me (gpio) .

    La clef usb Z-wave et beaucoup plus facile a faire fonctionner ,et plein
    de post a sont sujet.

  20. chddgrimm dit :

    Bonjour et merci pour cet article, savez vous si les FIBARO universel FGBS-001 sont reconnus par DOMOTICZ ? D’avance merci pour votre réponse

  21. Maximin dit :

    Bonjour, j’ai des retours comme quoi le module est bien supporté en effet.

  22. Olivier Torna dit :

    Hello,

    Le Rapsberry Pi est vraiment parfait pour faire une box domotique 🙂
    Le combo ultime étant RaspberryPi + Razberry + RFXtrx433 USB + Domoticz, comme expliqué dans ce projet : http://www.magdiblog.fr/domotique/raspberrypi-razberry-rfxtrx433usb-domoticz-le-combo-parfait/

  23. Benoit Champougny dit :

    salut a tous,

    Je suis a la recherche de développeur pour un projet opensource similaire, Nous somme déjà 3 sur ce projet.
    Ce
    projet consiste a rendre accessible aux plus novices les
    fonctionnalités du rapberry pi et arduino combinés dans le but de gérer
    des systêmes domotiques annexes tel qu’une ruche, un jardin, un
    aquarium, une cave a vin, une champignonnière, un terrarium, une serre,
    enfin presque tout enfaite.

    Une interface graphique seras
    accessible depuis partout. Un systême de scénarios configurable
    permettra la régulation ainsi que l’alerte mail et sms du systême.

    Le
    But étant de pouvoir partager depuis un site communautaire des données
    créer par la communauté dans un esprit de DRY (don’t repeat yourself),
    pour éviter que chacun écrive sont petit morceau de code dans sont coin
    alors qu’il pourrais le rendre accessible a toute une communauté. Quel
    gains de temps pour toute une communauté!!!.

    n’hésitez pas à nous rejoindre, on ne mort pas lol!!! les projets open sources ont besoin de vous!!

    https://ardui-farm.sonetin.com/

  24. Laurent_69 dit :

    Merci Benoit de partager ce projet qui a l’air intéressant.
    Avis aux développeurs !

Laisser un commentaire

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