Domotique : Migrer Domoticz vers le RaspberryPi2

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

J’imagine que la nouvelle ne vous aura pas échappé : depuis fin 2014, la fondation RaspberryPi a sorti un nouveau modèle de son célèbre ordinateur miniature. Sobrement intitulé RaspberryPi 2, celui-ci présente plusieurs évolutions matérielles tout en gardant le même format, et qui plus est le même prix ! Et si pendant des mois mettre la main sur cette nouvelle version relevait du parcours du combattant (voire du combattant fortuné) les prix se sont plutôt calmés et on retrouve cette nouvelle version avec un prix qui colle davantage à celui de l’ancien modèle.

Migrer mon installation domotique

Si vous suivez ma série d’articles sur la domotique, vous savez que le RaspberryPi est au cœur de ma solution. Avec la sortie de cette nouvelle version de la framboise je me suis longtemps demandé si je devais franchir le pas pour migrer mon installation vers ce nouveau jouet. Je me suis finalement décidé et je partage aujourd’hui avec vous les raisons de ma migration et surtout comment la réaliser sans douleur.

RaspberryPi 2, des nouveautés bien cachées ?

D’apparence, il faudra être sacrément entrainé pour faire la différence entre les deux versions ! Ci-dessous une petite photo des deux générations : mon ancien RaspberryPi B+ et mon nouveau RaspberryPi 2 :

Saurez vous distinguer le Raspberrypi2 de son prédécesseur ?
Saurez vous distinguer le RaspberryPi2 de son prédécesseur ?

C’est en soit une bonne nouvelle : cela signifie que les accessoires comme les boitiers restent compatibles entre les différentes versions tout comme les différentes cartes d’extensions qui exploitent le port GPIO.

Un processeur multi-cœurs et 2 fois plus de RAM

Si la plupart des articles relatant la sortie de l’appareil se focalisent sur la quantité de RAM, qui a doublé, c’est personnellement le processeur qui m’a le plus intéressé : en passant d’un modèle simple coeur à un quad-core, le RaspberryPi est désormais capable de paralléliser de manière efficace plusieurs processus. Et ça c’est bon pour notre domotique et ses traitements parfois longs. En terme de puissance, on parle au final d’un processeur qui serait environ 6 fois plus véloce, ce qui ne fera pas de mal non plus même si Domoticz est très léger !

Une meilleure compatibilité logicielle

En changeant d’architecture (ARMv7 pour le RaspberryPi 2 contre ARMv6 pour ses prédécesseurs), c’est la compatibilité logicielle de la plateforme qui s’améliore. Petit fait notable, cette nouvelle version est désormais supportée par Windows mais une mouture bien spéciale du système Microsoft : Windows IoT. Si c’est un pas en avant n’espérez donc pas faire tourner votre suite Microsoft Office sur l’ordinateur à la framboise.

Au final si vous avez du mal à faire votre choix, voici un petit tableau qui récapitule les éléments différenciant de cette version avec son prédecesseur :

[rpt name= »quel-raspberrypi-choisir »]

Migration de Domoticz sous Raspbian d’un RaspberryPi B+ vers un RaspberryPi 2

Si vous êtes intéressé par les nouvelles capacités de cette version du RaspberryPi, voici un petit pas à pas pour migrer en 30 minutes votre installation domotique d’un RaspberryPi B+ vers un RaspberryPi 2.

Etape 1/2 : Préparation de l’ancien système

Saisir les commandes suivantes depuis un terminal ou une connexion SSH (compter une trentaine de minutes max) :

sudo apt-get update && sudo apt-get upgrade -y
sudo apt-get dist-upgrade

A ce moment, votre système est à jour et prêt à basculer sur le RaspberryPi 2. Eteignez la bête en saisissant la commande suivante :

sudo halt

 Etape 2/2 : Mise en place du RaspberryPi 2

On arrive au moment crucial ! Les 2 RaspberryPis sont éteints, débrancher alors tout votre équipement du RaspberryPi B+ pour le brancher sur le RaspberryPi 2. Ne pas oublier la carte micro-sd ;)

Vous pouvez alors démarrer le bolide, tout devrait bien se passer. Lancez alors la commande de mise à jour suivante :

sudo rpi-update

Et redémarrez ensuite avec cette commande :

sudo reboot

Dernière étape facultative : si vous avez attribué une IP fixe à votre ancien RaspberryPi, il est peut-être nécessaire de mettre à jour celle-ci dans la configuration de votre box adsl/routeur pour ne pas avoir à changer tous vos marques-pages.

Au final, rien de sorcier vous voyez, et aucunement besoin d’être un as de la ligne de commande ! Merci de m’avoir lu et j’espère que ce petit tuto en aidera quelques uns. Comme d’habitude pour les questions je vous encourage à passer par les commentaires !

Domotique : Partie 10 – Traquer les portes ouvertes

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

Vous l’avez attendu le voilà :) Le premier article de la série où l’on va enfin ajouter un périphérique Z-Wave à notre installation ! Pour démarrer dans le monde du Z-Wave, j’ai choisi de tester un type de capteur qui a mauvaise réputation dans la gamme chacon (433Mhz) : un détecteur d’ouverture de porte/fenêtre Z-Wave. En effet, le protocole Chacon ne proposant pas de « retour d’état », les capteurs d’ouverture de porte en 433Mhz ont une fâcheuse tendance à spammer le réseau radio en répétant N fois la même information, brouillant au passage les messages de ses petits copains.

Pourquoi vouloir suivre l’ouverture des portes et fenêtre du domicile ?

Au premier abord suivre ce type d’événement peut paraître anodin, mais il y a pourtant quelques intérêts à le faire :

  • En terme de tranquillité, le système domotique va être capable de vous assurer que toutes vos fenêtres sont bien fermées lorsque vous quittez votre domicile. Ceux qui ont déjà oublié un velux ouvert un jour de pluie comprendront !
  • En terme de sécurité, le système domotique va être capable de vous alerter si une ouverture suspecte intervient alors que vous n’êtes pas chez vous.
  • En terme d’économie d’énergie, il va être possible d’intégrer cette notion de porte ou fenêtre ouverte dans les scénarios de chauffage. Par exemple lorsque vous ouvrez votre fenêtre pour aérer, votre radiateur s’éteindra pour ne se rallumer qu’à la fermeture de la fenêtre.

Et je fais confiance à votre imagination pour trouver d’autres cas d’application !

Un modèle original

Maintenant que vous êtes convaincu de l’utilité de ce genre de module, lequel choisir ? Comme annoncé en introduction, j’ai exclu les modèles fonctionnant en 433Mhz, pour en trouver un plus fiable, en Z-Wave. Là aussi, des capteurs d’ouverture de porte Z-Wave, il en existe des dizaines, et ils ont quasiment tous la même tête : composée de 2 parties distinctes, une est fixée sur l’ouvrant et l’autre sur le montant. Visuellement cela ressemble à ça :

Un détecteur d'ouverture de porte classique
Un détecteur d’ouverture de porte classique… Pas très esthétique.

Pas forcément super esthétique on est d’accord, mais il existe plus discret bien qu’un peu plus long à poser, c’est ce que je vous propose de tester aujourd’hui !

Les modules Aeon Labs DSB54 et ZW089

Conçu pour être intégrer DANS la porte, les modules DSB54 et ZW089 une fois installés sont complètement invisibles ! Si comme chez moi vos portes intérieures sont creuses, alors ce module est le candidat idéal pour une intégration aux petits oignons. Voici quelques images :

Le capteur d'ouverture à côté d'un feutre de tableau blanc
Le capteur d’ouverture à côté d’un feutre de tableau blanc
Le capteur démonté
Le capteur démonté

Vous pouvez vous poser la question de l’autonomie de la pile de ce module. Selon son constructeur, elle durerait au moins 1 an, pour ma part cela fait déjà 5 mois que le capteur est en place et l’état la batterie ne donne pas de signe de fatigue. La pile utilisée est plutôt spécifique (modèle CR2), en tous cas je n’avais jamais croisé ce format qui apparemment est aussi utilisé dans quelques flashs d’appareil photo. Par curiosité, je suis allé voir au supermarché du coin s’ils en avaient, mais que nenni. Il vaudra donc mieux s’orienter vers internet en cas de panne sèche.

Installation

Alors si on se fie à la doc constructeur, Aeon Labs recommande de placer le corps avec la pile dans le montant, et la partie avec l’aimant dans la porte. Sauf qu’avec une profondeur de 6cm, l’installation dans le montant me parait plutôt galère, alors qu’on a une porte creuse à disposition ! J’ai donc choisit de le monter en plaçant le corps dans la porte ! Je vous livre donc le récit de ma petite séquence bricolage !

Matériel nécessaire :

  • un tournevis plat
  • un tournevis cruciforme
  • une perceuse avec une mèche de 19mm

19mm, ce n’est pas le plus simple diamètre à dénicher ! Une fois de plus, internet est venu à mon secours, et j’ai trouvé ma mèche sans trop de mal. Voici les modèles que je vous ai repéré :

Au passage, attention à la perceuse que vous allez utiliser ! La mienne par exemple (un modèle sans fil de chez AEG) n’accepte pas de mèches de plus de 18mm, j’ai donc du sortir la perceuse de papa !

La mèche de 19mm à côté d'un feutre de tableau blanc. Sacré bête
La mèche de 19mm à côté d’un feutre de tableau blanc. Sacré bête

Si comme moi vous vivez en appartement, cela vous donnera l’occasion de convertir votre table de salon en établi ;) J’ai choisi de percer le trou sur le haut de la porte, de manière à ce que le capteur soit complètement invisible.

Perçage en règle de la porte
Perçage en règle de la porte. Ne faites pas comme moi, pensez à désactiver le mode « percussion » !

Le trou percé, on va pouvoir installer le corps du module ! Mais avant de visser celui-ci, il vous faudra enlever la languette plastique qui empêche la pile de se décharger ! Une fois le module en marche, il est prêt à être intégré dans son logement

Le module intégré
Le module intégré

L’astuce de McGyver pour ne pas percer le montant

Bon là je vous avoue, je suis fier de mon coup ^^ ça m’embêtait de percer le montant de la porte car cette opération aurait été visible et pas forcément esthétique (qui plus est, je le rappelle, je ne suis que locataire). Or qu’y- a-t-il dans cette partie du capteur à encastrer ? Un simple aimant. Vu qu’entre la porte et le montant, j’ai bien 5 ou 6 mm de jeu, je me suis donc mis en quête d’un aimant extra-plat à coller sur mon montant, plutôt que de percer ce dernier.

Et voici le graal : des aimants neodym d’1mm d’épaisseur.

Des aimants neodym extra plats permettent d'éviter le perçage du montant
Des aimants neodym extra plats permettent d’éviter le perçage du montant

Mesurant 10 x 1 mm, cet aimant extra plat a trouvé sa place sans mal sur mon montant, et vu que l’encadrement de ma porte est métallique, je n’ai même pas eu besoin de le coller ! Et je vous confirme que mon capteur tourne comme une horloge !

Intégration du capteur dans Domoticz

Comme pour tous les périphériques Z-Wave, il faut procéder à un appairage du capteur avec notre contrôleur Z-Wave, en l’occurrence le Z-Stick S2 d’Aeon Labs. Pour ce faire, il faut approcher le Z-Stick S2 (débranché) du capteur, appuyer brièvement sur le bouton du ZStick avant de faire de même sur le capteur (c’est le petit trou visible sur la « face » du capteur, prévoyez donc un trombone pour y accéder). Si l’appairage réussit vous verrez le voyant du capteur clignoter rapidement.

Une fois l’inclusion réalisée avec succès, on rebranche le Z-Stick sur le RaspberryPi avec Domoticz et il faut patienter quelques instants le temps que Domoticz reprenne ses esprits ! Pour vérifier que tout a bien marché, il suffit d’aller ensuite dans l’onglet Setup > Hardware où l’on retrouvera nos différentes interfaces : le RFXCom et bien sûr, le ZStick !

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

Un clic sur le bouton Setup permet d’accéder à la liste des périphériques Z-Wave associés.

02_Aeon_Labs_Recessed_Door_Sensor
Ici on voit que le Z-Stick est bien associé au capteur d’ouverture de porte (1ère ligne)

On retrouve le détecteur de porte d’Aeon Labs.

Pour le piloter depuis Domoticz, la mécanique est commune aux modules habituels en 433Mhz : il suffit d’aller dans l’onglet Setup > Devices où sont visibles tous les modules et de cliquer sur la petite flèche verte sur la ligne correspondant à notre capteur. On choisit son nom, dans mon cas un très original « Porte salle de bain« .

03_Include_Door_Sensor
Le capteur est visible aux côtés des autres périphériques (433Mhz et Z-Wave)

Par défaut le capteur est symbolisé par une ampoule, ce qui va bien pour les interrupteur mais ne me parait pas très adapté ici. J’ai donc choisi de modifier l’apparence et de l’afficher comme un contact. L’idéal serait de changer l’îcone en quelque chose qui ressemble plus à une porte mais je n’ai pas encore eu le temps de me pencher sur le sujet !

Changement de l'icône du capteur d'ouverture de porte
Changement de l’icône du capteur d’ouverture de porte

A ce moment le capteur est pleinement fonctionnel, son état remonte dans Domoticz et va pouvoir être utilisé dans vos scripts et scénarios !

En conclusion

J’ai le module DSB54 depuis plusieurs mois et il fonctionne très bien. Entre temps, Aeon Labs a fait évoluer son modèle en une version ZWave+ (le ZW089) capable de couvrir une meilleure distance tout en consommant moins d’énergie ! Si vous cherchez un capteur de porte « invisible », voici peut-être le meilleur candidat. S’il fallait trouver un bémol ce serait certainement le prix, on paie ici l’intégration parfaite, à vous de décider si c’est justifié comparé à un détecteur plus classique comme le modèle DSB29 également produit par la marque.

Domotique : Partie 9 – Connecter un détecteur de fumée

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

Oyez, oyez ! Je sais que je m’étais engagé à écrire le prochain article de domotique sur un capteur Z-Wave mais je me suis fait rattraper par l’actualité ! Du coup je me permets de faire une petite entorse à mes prévisions pour parler détecteur de fumée ! Lequel choisir et comment l’intégrer dans notre système actuel basé sur Domoticz ? Ce sera l’objet de cet article.

Une obligation d’ici le 8 mars 2015

C’est l’actualité du moment, suite à la loi Morange votée en mars 2010, les français ont jusqu’au 8 mars pour s’équiper d’un « détecteur avertisseur autonome de fumée ». Vous connaissez peut-être ce détecteur, il se fixe au plafond ou en haut de vos murs et vous alerte via une sirène pas très agréable de la présence de fumée ! La loi en exige un par étage, à vous de faire le calcul pour votre domicile. Si vous êtes locataire le texte stipule que détecteur doit être financé par votre propriétaire, mais c’est à l’occupant de veiller à l’entretien et au bon fonctionnement du dispositif. Si vous souhaitez un peu plus d’infos sur le sujet, la page officielle du site « service public » est plutôt claire.

Que risquez vous si vous n’en avez pas ?

Ça c’est une loi bien « à la française », avec un dispositif obligatoire, mais avec aucune sanction de prévue si vous ne vous équipez pas. A chacun donc d’être responsable, après tout on n’installe pas un détecteur de fumée pour faire plaisir à l’administration mais pour se protéger soi et sa famille. Côté assurance, on ne peut (pour l’instant en tous cas) vous refuser la prise en charge d’un incendie sous prétexte que vous n’avez pas de détecteur de fumée… mais cela pourrait changer…

Quel modèle choisir et où l’installer ?

Là c’est la jungle, il existe des centaines de modèles différents. Je n’ai pas la prétention de les tester tous, sachez que la seule chose à surveiller impérativement quand vous choisirez le vôtre est qu’il soit siglé « CE » (les pouvoirs publics recommandent de prendre un modèle certifié NF EN 14604 mais ça n’est pas obligatoire). Niveau tarif, on en trouve facilement à moins de 20€ pour les plus basiques et tout le monde s’y met (même mon buraliste en vend !). Des modèles plus évolués peuvent embarquer également un détecteur de monoxyde de carbone, et d’autres sont interconnectables entre eux (si un se déclenche, tous les détecteurs sonnent).

Pour l’installation du détecteur, il est recommandé de le disposer dans un lieu de passage, comme un couloir par exemple, et de ne pas l’installer dans la cuisine ou la salle de bain pour éviter les déclenchements intempestifs. En terme de position, le milieu du plafond est apparemment optimal mais vous pouvez aussi l’installer en haut d’un mur sans problème.

Schéma d'installation d'un détecteur de fumée
Schéma d’installation d’un détecteur de fumée

 

Et si on s’attarde sur le cas du NEST ?

Le détecteur de fumée et monoxyde de carbone NEST Protect
Le détecteur de fumée et monoxyde de carbone NEST Protect

Dans mon entourage, on me pose ces derniers temps pas mal de questions à propos des périphériques NEST et plus particulièrement leur détecteur de fumée et monoxyde de carbone. S’agissant d’un détecteur dit « connecté », il est possible d’être notifié sur son téléphone en cas de d’alerte, voire de l’intégrer à un éventuel système domotique via son interface de programmation « Works with NEST ». La plupart des tests produits sont élogieux (exemple ici) à son sujet et ce détecteur est bien homologué norme NF EN 14604. Il a cependant pour moi quelques inconvénients :

  • Son prix. A 140€ le détecteur, ça commence à faire un sacré investissement, surtout s’il vous en faut plusieurs pour couvrir votre habitation. A sa décharge, il ne faut pas oublier qu’il fait également détecteur de monoxyde de carbone, un type de périphérique qu’il est difficile de trouver en dessous des 50€.
  • Cette combinaison détecteur de fumée/monoxyde de carbone me parait hasardeuse : un détecteur de monoxyde sera placé près d’un appareil susceptible d’en produire (chaudière, cuisine, etc…), qui sont justement des endroits où l’on évite de positionner un détecteur de fumée (qui se déclencherait de manière intempestive).
  • Son API, qui même si elle est bien pensée, repose sur les serveurs de la société NEST, ce qui empêche toute intégration dans un système domotique en cas de coupure de ligne internet et vous rend dépendant du futur de la société NEST. Ça ne dérangera pas forcément grand monde mais je préfère que ma solution reste autonome.

Un détecteur de fumée dans Domoticz ?

Choisir une référence compatible

Si vous souhaitez relier un détecteur de fumée à un système domotique basé sur Domoticz, c’est possible à condition de choisir un modèle compatible. C’est le cas des détecteur de fumée Chacon par exemple. Certifié CE NF EN14604 et vendu souvent par paire, ceux-ci sont interconnectables entre eux (le déclenchement d’un fait sonner tous les détecteurs du domicile) et sont reconnus par le RFXCom. Il y a plusieurs avantages à relier les détecteurs à Domoticz :

  • Être notifié en cas d’alerte, même en étant à l’extérieur du domicile
  • Déclencher des actions du système en réponse à un démarrage d’incendie (ex : allumer toutes les lumières du domicile pour réveiller les occupants/faciliter l’évacuation)
  • Utiliser la sonnerie des détecteurs de fumée dans des scénarios personnalisés (détection de présence inhabituelle, inondation, etc…)
Les détecteurs de fumée Flamingo, compatibles Domoticz
Les détecteurs de fumée Flamingo (clone des modèles chacon), compatibles Domoticz

Si vous souhaitez vous équiper avec un de ces détecteurs, sachez qu’on les trouve à des tarifs plutôt raisonnables (environ 30 euros la paire) et que plusieurs constructeurs les vendent sous des références différentes ! J’ai mené ma petite enquête, et voici les références compatibles que j’ai trouvé.

Soyons honnêtes, ces modèles ne sont pas les plus discrets ni les plus esthétiques du genre, mais ils remplissent leur rôle à la perfection.

Intégrer le détecteur dans Domoticz

Vérifiez dans l’onglet Setup/Settings que l’ajout de nouveaux périphériques est autorisé (la case Accept new Hardware Devices doit être cochée) et pressez quelques secondes le bouton « TEST » du détecteur (attention aux oreilles).

Sans cette case de cochée, vous risquez de batailler ;)
Sans cette case de cochée, vous risquez de batailler ;)

Allez dans l’onglet Setup/Devices de Domoticz. Une nouvelle ligne apparait alors avec la mention KD101 smoke detector. On clique sur le bouton avec la flèche verte et on choisit un nom pour le détecteur (dans mon cas Détecteur de fumée entrée).

Le détecteur prêt à être ajouté dans Domoticz
Le détecteur prêt à être ajouté dans Domoticz

Le détecteur de fumée sera ensuite visible dans l’onglet Switches où vous pourrez notamment paramétrer des notifications.

Le détecteur de fumée une fois ajouté dans Domoticz
Le détecteur de fumée une fois ajouté dans Domoticz

Pour ma part cela va faire environ un an et demi que je suis équipé d’un de ces détecteurs et j’en suis satisfait. Il s’est déclenché une fois lors d’un petit soucis « culinaire » et j’ai du remplacer les piles au bout de 13/14 mois. Au passage, impossible d’ignorer le niveau de batterie faible sur ces modèles puisqu’en dessous d’un certain niveau, le détecteur en mal de piles se met à émettre un bip strident chaque minute !

Voilà, je pense avoir fait le tour du sujet mais si jamais vous avez des questions, je me ferai une joie de vous aider dans votre démarche ! N’oubliez pas le plus important : quel que soit le modèle que vous choisirez, équipez-vous pour votre propre sécurité !

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 !

 

Domotique : Partie 7 – Détection de présence grâce au wifi de son téléphone

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

Un nouvel article domotique aujourd’hui où on ne manipulera pas de matériel ! Ce que je vous propose c’est d’utiliser le smartphone au fond de votre poche pour que votre système domotique prenne conscience de votre présence. Ici pas de détecteur de mouvement, pas de caméra IP, seul votre beau téléphone est nécessaire. A l’heure où j’écris ces lignes, cette astuce ne marche pas avec les iPhones mais promis je vous cherche une alternative ;)

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

Le principe de base

Sur mon smartphone, le wifi est toujours allumé. Au grès de mes déplacements, mon téléphone se connectera chez moi, à mon travail, chez certains de mes amis, etc… Étant donné que le wifi a une portée (dans le meilleur des cas) maximale de 100 mètres, on peut donc supposer que si on est connecté à son wifi domestique, alors on peut considérer que l’on est chez soi. Le tuto du jour vous montrera donc comment faire pour que Domoticz vérifie régulièrement si votre téléphone est connecté au wifi ou pas.

Quel intérêt que Domoticz sache si on est là ou pas ?

Cela permet tout simplement de mettre en scène des scénarios plus ou moins complexes pour par exemple :

  • Diminuer le chauffage quand personne n’est à la maison
  • Éteindre les lumières oubliées lors du départ des occupants
  • Simuler une présence à domicile quand personne n’est là
  • Etc…

La mise en œuvre

Pour mettre cette mécanique en œuvre, voici le scénario que nous allons suivre aujourd’hui :

  1. Créer un interrupteur virtuel qui indiquera si oui ou non quelqu’un est présent au domicile
  2. Créer un script qui modifiera l’état de l’interrupteur virtuel en fonction de la présence du téléphone sur le réseau wifi

Les captures d’écrans et les explications sont faites à partir de la version V2.2151 de Domoticz, affichée en anglais.

 1. Création de l’interrupteur virtuel

C’est la première étape, on va créer l’interrupteur qui matérialisera la présence à domicile. Pour cela rien de très compliqué ! Dans Setup > Hardware, cliquer sur le bouton « Create Virtual Sensor » sur le device « Dummy » (si vous ne l’avez pas, ajoutez le via le menu déroulant).

Création de l'interrupteur virtuel
Création de l’interrupteur virtuel
Sélectionnez le type « Switch« 
Sélection du type "Switch"
Sélection du type « Switch »

Après avoir cliqué sur OK, le périphérique sera visible dans l’onglet Setup > Devices où il faudra cliquer sur la petite flèche verte associée.

02_Ajout_interrupteur
On retrouve notre nouvel interrupteur rattaché au matériel « Dummy »

Choisissez lui un petit nom, dans mon cas « Presence » (oui j’ai peur des accents, c’est mon instinct de développeur qui me pousse à les fuir ;) Votre magnifique interrupteur apparaitra alors dans l’onglet « Switches ». Pour des raisons d’esthétisme, j’ai choisi d’en changer le type en « Motion Sensor » et de l’afficher sur mon Dashboard (c’est purement facultatif bien entendu). Voici ce que cela donne :

Mon interrupteur virtuel "Presence" maquillé en capteur de mouvement
Mon interrupteur virtuel « Presence » maquillé en capteur de mouvement

Il va maintenant falloir passer aux choses sérieuses : le script qui va altérer l’état de cet interrupteur.

2. Création du script

Le rôle de ce script est assez simple : exécuté périodiquement, il va essayer de joindre le (ou les) smartphone(s) du foyer. S’il y parvient, il bascule l’interrupteur virtuel à « On » et ne vérifiera que 10 minutes plus tard si le téléphone est toujours là. Si aucun smartphone n’est détecté, le script bascule l’interrupteur virtuel à « Off » et attendra 1 minute avant d’essayer de joindre à nouveau le(s) smartphone(s).

Pré-requis : connaitre l’adresse IP de son téléphone. Si vous ne l’avez pas déjà fait, je vous conseille de paramétrer votre box/routeur pour que cette adresse IP ne change jamais . Elle est généralement de la forme 192.168.xxx.yyy. Dans mon exemple, le script est paramétré pour 2 téléphones.

Le script doit être placé dans le répertoire scripts/lua de Domoticz. Le fichier du script doit obligatoirement commencer par « script_time_ » et porter l’extension « .lua« . J’ai par exemple nommé le mien « script_time_presence.lua« . Voici le contenu du script :

-- Alexandre DUBOIS - 2014
-- Ce script vérifie la présence de 2 téléphones sur le réseau pour savoir si quelqu'un est là.
-- La vérification est effectuée une fois par minute tant qu'aucun téléphone n'est à portée,
-- puis une fois toute les 10 minutes quand au moins un téléphone est connecté pour ne pas trop stresser sa batterie.

commandArray = {}

--Cette fonction calcule la différence de temps (en secondes) entre maintenant
--et la date passée en paramètre.
function timedifference (s)
  year = string.sub(s, 1, 4)
  month = string.sub(s, 6, 7)
  day = string.sub(s, 9, 10)
  hour = string.sub(s, 12, 13)
  minutes = string.sub(s, 15, 16)
  seconds = string.sub(s, 18, 19)
  t1 = os.time()
  t2 = os.time{year=year, month=month, day=day, hour=hour, min=minutes, sec=seconds}
  difference = os.difftime (t1, t2)
  return difference
end

--Si le téléphone n'est pas détecté ou qu'il est présent depuis plus de 10 minutes (600 secondes),
--alors on vérifie à nouveau sa présence
if (otherdevices['Presence']=='Off' or (otherdevices['Presence']=='On' and timedifference(otherdevices_lastupdate['Presence']) > 600)) then
	ping_success_tel1=os.execute('ping -c1 192.168.1.20')
	ping_success_tel2=os.execute('ping -c1 192.168.1.21')
	
	if ping_success_tel1 or ping_success_tel2 then
	  commandArray['Presence']='On'
	else
	  if otherdevices['Presence']=='On' then --On ne passe l'interrupteur virtuel à Off que s'il est sur On.
             commandArray['Presence']='Off'
          end
	end
end

return commandArray

Bien sûr il faudra remplacer les adresses IP ligne 26 et 27 de mon script par celles de vos appareils :)

Un cas pratique : simulation de présence en cas d’absence

Histoire d’illustrer l’intérêt de ce « détecteur de présence », voici une implémentation d’un scénario de simulation de présence. Celui-ci n’est pas très évolué mais il « fait le boulot ». Grossièrement : si personne n’est à domicile et que nous somme samedi, on allume les lampadaires du salon vers le crépuscule et on les éteint aux alentours de 23h30 (à chaque fois, on spécifie une fourchette de 15 minutes pour chaque changement d’état).

J’ai utilisé le créateur de scénarios qui est disponible dans le menu via : Setup > More Options > Events

Celui-ci permet de « programmer » sans avoir à écrire de code informatique. On assemble simplement des briques pour indiquer les conditions à tester et actions à effectuer. Une fois terminée, cela donne ça :

Scénario de simulation de présence
Scénario de simulation de présence

Libre à vous de l’adapter ensuite à vos besoins :)

Les limites du système

Cela fait plusieurs mois que j’utilise cette méthode et je suis étonné par sa fiabilité. Cependant quelques ombres au tableau subsistent ! Les iPhones coupent automatiquement leur wifi dès que l’écran s’éteint, ce qui empêche d’utiliser cette astuce. D’autres smartphones font probablement de même ! Qui plus est, ceci fonctionne si chaque habitant de la maison possède un smartphone, ce qui ne sera pas forcément le cas. Enfin, nos beaux terminaux ont un point faible : leur batterie. Attention donc aux scénarios que vous programmez derrière, en cas de panne de batterie vous pourriez avoir de mauvaises surprises !