Installation domotique de R R

Pourquoi la domotique ?

Ma mère s’est achetée une résidence secondaire. Après avoir séjourné plusieurs fois là-bas, j’en ai eu assez marre de devoir faire la même chose à chaque départ et arrivée. Je voulais aussi garder un œil sur la maison. J’ai donc décidé de me lancer dans la domotique en été 2013.

Mes objectifs initiaux

Mes objectifs initiaux étaient donc le confort avec l’extinction de plusieurs appareils en une seule action et être averti en cas de présence avec enregistrement vidéo ou en cas de problème (inondation, ordinateur indisponible). Je voulais aussi que l’ensemble soit assez fiable avec la possibilité de connaitre l’état des appareils par exemple.

Quel matériel ?

J’avais déjà un PC puissant qui me servait à répliquer les données de ma résidence principale (photos de famille) et à faire quelques expériences geeks. Il tourne sous Ubuntu 14.04 et utilise Archipel et livirt pour la virtualisation. J’y héberge différentes machines virtuelles qui portent des composants de mon installation. À ce dernier j’ai ajouté :

  • Vera Lite 170€
  • 1 Détecteur de mouvement FGMS-001 58€
  • 6 prises ON/OFF de Everspring 6×35€=210€
  • 1 détecteur d’inondation Fibaro FGFS-101 60€
  • 2 Micromodules commutateur 2 relais et consomètre de Qubino ZMNHBA2 2×60€=120€
  • 3 Micromodules commutateur 1 relai de 1xMkW Fibaro FGS-211 3×60€=180€
  • 3 modules diodes pour fil pilote 3×10€=30€
  • 1 Raspberry Pi Type-A avec Camera 45€
  • 4 Raspberry Pi Type-B 4×35€=140€
  • 1 Kinect 35€ (acheté d’occasion)
  • 1 Pack de départ Philips Hue 100€ (acheté à -50% avec une offre promotionnelle)
  • 4 cameras Foscam FI8918W 4×35€=140€
  • 1 tablette low cost Logicom 20€
  • 2 IR Toy V2 de Dangerous Prototype 2×13€=26€
  • 1 Karotz 25€

Soit un total de 1360€ (et je n’utilise pas encore tout !).

Mon niveau de connaissances

Pour l’électricité, je suis un grand débutant. Mes connaissances se résument à ce qu’on apprend jusqu’au Bac. Pour l’informatique, c’est une toute autre histoire. J’ai commencé à développer des sites internet au collège. J’ai ensuite fait une licence et un master en informatique et je suis maintenant un ingénieur de développement confirmé et architecte logiciel junior (donc interconnecter des systèmes, ça me connait). En début de licence, Linux (pour être précis Ubuntu puis Debian) est devenu mon système d’exploitation préféré et principal. N’y connaissant rien en domotique, j’ai beaucoup lu à ce sujet. La technologie qui est le plus ressorti en bien est Z-Wave, je me suis donc lancé dans la domotique avec ce protocole.

Mon installation

Domotique

Le cœur de mon système domotique repose sur SARAH, ma box domotique, la Vera Lite et sur le hub Philips Hue.
Domotique
Les habitants de la maison utilisent principalement deux vecteurs :

  • SARAH Controller, disponible sur les smartphones et tablettes de chacun permet d’interagir vocalement avec l’éclairage de quelques pièces grâce à un plugin SARAH maison pour avoir plus de contrôle, de connaitre la température de certaines pièces, d’activer ou non la vidéo surveillance ou encore tout ce qui doit l’être en arrivant ou en quittant la résidence. Le retour vocal s’effectue sur l’appareil ayant fait la requête, sur le Karotz et toute SqueezeBox connectée au stream SARAH que j’ai mis en place (avec ICEcast).
  • ImperiHome qui permet de faire grosso modo ce que fait SARAH Controller mais avec une interface tactile. La tablette Low Cost qui reste dans le couloir utilise par exemple ce programme. La reconnaissance vocale n’étant pas disponible sur cette tablette.

Sécurité

Le PC héberge une machine virtuelle (Ubuntu 14.04) sur laquelle j’ai installé Zone Minder. C’est LA solution gratuite et open source pouvant tourner sous Linux d’après mes recherches. La configuration de ce programme fut extrêmement laborieuse. J’ai finalement pu ajouter mes caméras et configurer le téléversement automatique des enregistrements sur un serveur distant quand un mouvement est détecté et que la surveillance est activée. Je n’ai cependant pas pu configurer les alertes par mail. Le programme propose une interface web très basique qui permet de configurer le programme, les caméras, de visualiser les évènements et d’observer en temps réel ce que voient les caméras. Le mode mosaïque est utile pour voir toutes les caméras d’un seul coup mais demande d’avoir un écran aussi grand qu’il y a de caméras.

ZM
La tablette Low Cost, affiche par défaut en permanence ce que voient les différentes caméras en passant par ImperiHome.
Screenshot_2014-08-24-20-23-51-

Multimedia

Le PC héberge une machine virtuelle (Ubuntu 14.04) chargée de s’occuper du multimedia. Elle utilise Logitech Media Server pour la diffusion audio multi room. Ce système est basé sur le système SqueezeBox. Les SqueezeBox sont ici remplacées par des Raspberry Pi utilisant SqueezeLite et étant reliés à un home cinéma ou une chaine HI-FI.

Screenshot_2014-08-24-20-35-51
Pour la chaine HI-FI, l’allumage et l’extinction sont déclenchables grâce au protocole HDMI-CEC à partir d’ImperiHome en passant par Vera Lite grâce à un plugin de ma conception.Pour le partage de photo et de video, j’utilise minidlna. Les medias partagés sont ainsi visibles à partir des Smart TV et autres objets compatibles DLNA/UPNP.

Évolutions envisagées

  • Je n’ai pas encore utilisé les micromodules, 2 des Raspberry Pi, le Kinect, le détecteur de mouvement et les 2 IR Toy.
  • J’ai l’intention d’utiliser les micromodules 2 relais pour contrôler des radiateurs à l’aide du fil pilote. Les micromodules 1 relais serviront à contrôler la lumière de certaines pièces, mais je n’ai pas encore trouvé où les brancher à cause des va-et-vient.
  • J’aimerais aussi pouvoir déclencher l’enregistrement de la caméra principale à l’aide du détecteur de mouvement. Le problème est que je n’ai pas trouvé dans Zone Minder une telle fonctionnalité, je risque de devoir bricoler pas mal pour y arriver. Si cela s’avère plus efficace que la détection de mouvement à partir des images qui génère beaucoup de faux positifs, je généraliserai ce fonctionnement aux autres caméras. Je dois aussi ajouter la caméra du Raspberry Pi à mon système de surveillance.
  • Pour SARAH, je souhaiterais avoir des clients légers (comprendre qui n’ont pas besoin d’avoir Windows). Ces clients légers, matérialisés par des Raspberry Pi, reliés à un Kinect, transmettrons le flux sonore au client lourd de SARAH et récupérerons la sortie sonore de cette dernière pour l’émettre à leur tour (cette dernière partie est déjà réalisée). J’ai déjà fait plusieurs tentatives qui se soldées par un échec (USBIP n’est pas compilé dans le noyau de Raspbian, la création d’un flux RTP avec un RPI demande une version de ffmpeg plus récente, mes tentatives de compilation de ffmpeg se sont soldées par des échecs à cause de dépendances ayant des versions différentes entre le RPI et le système ayant compilé le programme). Ça permettrait d’éviter la manipulation du téléphone pour dicter la commande à Sarah Controller.
  • J’aimerais aussi utiliser les IR Toy, ils me permettraient de contrôler un vieil home cinéma ainsi qu’un vieil aspirateur robot Le problème est que la communication entre le PC et l’IR Toy n’est pas stable, je me demande si l’erreur est humaine ou si le matériel n’est pas fiable.
  • Je voudrais aussi faire en sorte que le lancement de musique dans une pièce provoque l’allumage automatique de l’équipement associé au Raspberry Pi faisant office de Squeezebox. SqueezeLite ne proposant pas de mécanisme permettant de s’insérer au moment d’une requête, je vais trouver comment faire autrement.
  • Je suis aussi dans l’attente de 3 LightFreq. J’aimerais les utiliser en sortie sonore de SARAH et Squeezebox. Je voudrais aussi tester leur fonction d’interphone.
  • J’aimerais aussi faire plus de choses avec le Karotz (qui est sous OpenKarotz), mais à part diffuser ce que dit SARAH, je n’ai pas d’idée.

Si c’était à refaire

Si c’était à refaire, je ne serai pas parti sur une Vera Lite. J’avais choisi cette box car je voulais une gestion des caméra à la Synology. La gestion des cameras avec une Vera Lite est en fait très pauvre et permet seulement de prendre une photo. Je serais alors resté sur Domoticz.
Je n’aurais aussi pas pris de Raspberry Type A qui a été vendu avec une caméra et qui est censé supporter différentes clé wifi mais qui au final ne les supporte pas sans hub alimenté, même sans la caméra. Je me serais contenté uniquement des types B (ou même du nouveau modèle B+).

Author: Pascal STEPHANY

Rédacteur en Chef du Blog Domotique Info, je suis avant tout un passionné de nouvelles technologies depuis de nombreuses années... Je partage mon expérience Domotique sur ce Blog depuis 2008 en réalisant des tests ou des tutos avec comme objectif, celui de rendre la Domotique accessible à tous... Après avoir travaillé en tant qu'installateur Domotique pendant 5 ans j'ai créé mon entreprise de vente en ligne My Domotique en 2012, une boutique spécialisée dans les solutions Domotique grand public.

Share This Post On

15 Comments

  1. Réalisation plutôt optimisée pour un budget très raisonnable.
    Par contre je ne comprends pas sur le diagramme de flux de l’architecture, qui est le contrôleur principal ? Est-ce Sarah ou la Vera ? Est-ce un choix de développer l’architecture de manière distribuée plutôt que centralisée ? Disposer d’un seul point entrée sur un de ces contrôleurs serait peut-être plus pratique ?

  2. J’allais dire enfin quelqu’un qui utilise une Vera Lite et bien raté vous voulez vous en débarrasser.
    Pour gérer les caméras c’est en effet très lite …. et pas trop fait pour.
    Cependant il existe un plugin pour la Vera Lite pour exporter automatiquement les prises de vu sur un cloud type Dropbox. Cela fonctionne très bien.

  3. Belle installation, pourrais tu donner quelque information sur ton plugin d’allumage et d’extinction via le protocole HDMI-CEC des périphérique multimédia? Merci pour les infos !

  4. Bonsoir !

    @Sébastien Joly, je n’ai pas de contrôleur principal et l’architecture décentralisée est un choix. SARAH et Veralite sont autant utilisé l’un que l’autre. C’est peut-être une déformation professionnelle mais je vois chacun des composants de mon système domotique comme étant fournisseur et/ou consommateur de service. Centraliser la consommation et l’exposition de ces services sur un même composant demande à ce composant, pour chacun de ces services, de les consommern de les ré-exposer à sa sauce et d’adapter les consommateurs de services existants : c’est un travail un peu trop lourd qui en plus entraine une intolérance aux pannes du composant central et une dépendance forte à ce dernier :
    – Centraliser tout le contrôle sur la VeraLite reviendrait à dire d’utiliser les plugins existants (qui ne proposent pas forcément toutes les fonctionnalités proposées par les composants qu’ils contrôlent) ou en écrire de nouveaux (et d’expérience, le développement de plugins sur Vera est difficile car la documentation est pauvre voir même quasi-inexistante pour l’apparence des widgets).
    – Centraliser tout le contrôle sur SARAH risque de générer trop de phrases à retenir avec des déclencheurs d’actions qui ne sont pas utilisés fréquemment et empêcherai l’utilisation d’ImperiHome car les services de SARAH ne sont pas exposés de la même façon que ceux de la VeraLite.
    Dans la pratique, SARAH s’occupe de tâches courantes et délègue à Vera les scènes. Vera s’occupe des tâches plus rares, des scènes et des tâches courantes simples (allumer/éteindre sans modification de la couleur de la lumière par exemple). Les contrôles ne sont pas tout à fait identiques mais plutôt complémentaires.

    @PITP2 : Non, je ne veux pas me débarrasser de ma VeraLite, je n’ai pas envie de refaire toute mon installation domotique ;) Je continuerai donc avec elle. Pour la vidéosurveillance, je veux à tout prix avoir des vidéos. Zone Minder le permet et j’ai pu l’interfacer avec ma Vera Lite en partie pour le moment, mais ça viendra.

  5. @Julien J’ai fait un micro framework en PHP permettant de lancer des commandes CEC sur la machine hébergeant l’application PHP (Ici un RPI branché à un ampli). Les sources sont sur : https://github.com/SeraphicCorp/http-commands

    J’ai ensuite créé un interrupteur qui appelle une url à l’allumage et une autre à l’extinction sur ma VeraLite. Les sources sont sur https://github.com/SeraphicCorp/veralite/tree/master/HttpSwitch.
    Ainsi, j’ai un interrupteur On/Off qui permet d’allumer ou éteindre l’ampli.

  6. @SeraphicRav bien joué l’ami.

  7. @SeraphicRav je reviens sur l’archi distribuée contre centralisé. Je suis bien d’accord que tu ne crées pas de SPOF dans ton infra, mais du coup c’est pas du tout WAF. Comment gères-tu cet aspect ?

  8. @@SeraphicRav, les codes de ton fichier Onkyo.module.php sont-ils générique ? ou dédiés à ton ampli ?

  9. Pour l’aspect WAF, ImperiHome et l’interface web de Vera Lite n’ont pas séduit du tout, l’accès n’est pas immédiat, le téléphone ou la tablette pas suffisamment à porté de la main et est considéré comme moins pratique. Seule la fonction j’entre dans la résidence/je quitte la résidence est utilisée par la gente féminine. J’ai finalisé SARAH la semaine dernière, pour le moment, la découverte est agréable et l’outil fascine mais je ne sais pas si l’outil sera validé.

    Pour le code du fichier Onkyo, il est normalement générique à toute la marque (tant que l’ampli est compatible HDMI CEC). POur les autres marques, je ne sais pas.

  10. bonjour, pour zoneminder j’avais tenté a l’epoque : je me suis inspiré du tuto sur maison et domotique : http://maison-et-domotique.com/books/gerer-ses-cameras-avec-zoneminder/5/ puis sur la vera j’envoie une commande :
    local status, result = luup.inet.wget(« http://192.168.1.120/vera/scriptsurveillance.php », 5) et cela enregistre
    puis je passe en monitor :
    local status, result = luup.inet.wget(« http://192.168.1.120/vera/scriptmonitor.php », 5). je ne peux pas donner le contenu du script car je ne l’ai plus……

    petit plus pour les foscam : definir les positions 1 et 2 et mettre dans la vera :
    ptz 1 : luup.inet.wget(« http://192.168.1.105:8081/decoder_control.cgi?command=31&user=admin&pwd=admin ») 192.168.1.105 etant l ip de la foscam et 8081 celui du port. pour bouger les cameras vers le plafond
    ptz 2 : luup.inet.wget(« http://192.168.1.105:8081/decoder_control.cgi?command=33&user=admin&pwd=admin »)
    a voir si cela n’a pas ete modifié selon le firmware.

    a defaut de mail, notifications par sms avec la vera via le plugin sms via l’agenda google quand un mouvement est detecté au lieu de passer par zoneminder.

    en tout cas tres sympa comme installation

    cordialement

  11. @ketchoupi Il est normalement possible d’utiliser l’API REST utilisée par Zone Minder (vu que des requêtes sont effectuées quand on change l’état d’une caméra). Si je n’y arrive pas, je regarderai plus en détail ces commandes. En tout cas merci pour la piste ;)

    Ok, je vais regarder la piste des SMS, il est possible d’ajouter une capture par la même occasion ? :)

    Merci à tous pour vos compliments :D

  12. Bonjour Pascal

    Je lis et j’apprécie vos posts tous les jours à partir de ma tablette.
    Je vous signale un petit problème technique concernant les avatars de l’auteur et des personnes qui commentent.
    Il semblerait que vous ayez omis de retailler les classes ´author-avata? et ´comment-avatar ´ dans la partie responsive de votre CSS.

    Une partie du texte est écrasée par les avatars qui prennent la moitié de l’écran en mode portrait.

    Si on passe en landscape c’est ok, et quand on repasse en portrait c’est conservé ok.

    Utilisant moi même un thème d’ET, je sais que c’est compliqué de tout tester.

    Bravo pour le site, très informatif.

    Cdt

  13. Merci pour le retour, mais vous avez aussi la possibilité d’utiliser les applications mobile Domotique-Info.

  14. ah je ne savais pour l’api peut etre que cela simplifierait les choses……
    d’ailleurs je cherchais plus tard.
    dans le forum touteladomotique filtre mon pseudo je crois que j’ai laissé la solution.
    pour les sms, non pas de photos par contre peut etre avec vera alerte (je ne sais pas) sinon faire une vm avec xpenology?
    toujours est il que tu peux changer l’etat de zoneminder si un mvt est detecté.
    si tu es sous android, tu peux utiliser ipcam viewer qui permet de visualiser les cameras zoneminder et ainsi eviter d’ouvrir les ports pour celles-ci (par rapport au piratage, j’entends).
    cordialement

  15. Je ne suis pas fan d’XPenology, c’est du piratage :/

Laisser un commentaire