Installation Domotique de Julien C

Pourquoi la domotique ?

Mon installation domotique est dédiée principalement à la gestion et l’économie d’énergie.

Ma maison est de type bioclimatique et les apports d’énergie passifs (soleil et puits canadien) doivent être gérés au mieux afin de garantir le confort thermique dans la maison.Lorsque j’ai commencé à réfléchir de façon globale à la gestion de l’énergie de la maison, je me suis aperçu rapidement que seule une solution ‘globale’ serait efficace et facile à maintenir. En cherchant des solutions existantes sur le marché, je n’ai pas trouvé de produits adaptés à mon besoin car je voulais piloter des périphériques peu commun : volets roulants, poêle à granulés, VMCDF, Bypass de puits canadien, Téléinfo EDF … Les solutions existantes que je pouvais détourner étaient alors soit chères soit enfermées dans des protocoles propriétaires interdisant l’extension vers d’autres besoins.

Je me suis donc remonté les manches, et j’ai décidé de me faire ma propre ‘box’ et mes périphériques dédiés !

Mes objectifs initiaux

Les fonctions essentielles de ma domotique sont les suivantes :

  • Faire des économies et gagner en confort thermique,
  • Mesurer la température et humidité en divers points de la maison et du réseau de ventilation par des capteurs déportés,
  • Mesurer le flux solaire,
  • Relever la consommation EDF,
  • Piloter les volets roulants afin de gérer les apports solaire passifs afin de maximiser les apports en hiver et les minimiser en été,
  • Commander la puissance du poêle à granulés (électronique) afin de faire de la régulation de température (anticipation du démarrage et régulation),
  • Piloter le bypass du puits canadien,
  • Enregistrer et présenter les données sous forme de graphiques,
  • Avoir une Interface Homme-machine sous forme de page web pour l’universalité (fonctionne sur PC, smartphone, tablette, linux, mac, …),
  • Obtenir le WAF !!,
  • Garantir l’accès à distance pour gérer la domotique,
  • Utiliser les logiciels libre et/ou open-source.

Quel matériel ?

  • Une douzaine de modules Jeenode adaptés aux divers besoins (12 x 17.5€ = 210€),
  • Jeelink (Jeenode au format clé USB pour faire l’interface radio à partir d’une Box/PC) (29.5€),
  • Sheevaplug (PlugComputer) qui est le coeur de la domotique (120€),
  • Un petit onduleur 800VA Eaton (95€),
  • Routeur/Switch Wifi D-Link (30€),
  • Caméras Axis 270MW et 209 d’occasion (70€ + 100€),
  • Tablette / Smartphone / PC pour piloter la domotique via l’interface web hébergée sur le sheevaplug (70€).
  • Un tag NFC (échantillon gratos ^^ )
  • Total : 720€

Mon niveau de connaissances

  • J’ai une formation d’électronicien (BTS + École d’ingé) et de bonnes bases en programmation logicielle (langage C et assembleur),
  • Je suis ingé en conception électronique de par mon métier,
  • J’ai appris les langages utilisés pour le web de façon autodidacte depuis une dizaine d’années (pour réaliser des sites web perso) : HTML, PHP, JS, CSS …

Mon installation 

Je l’ai baptisée DoMini, une concaténation/réduction de domotique et mini. Domotique, parce que c’est sa fonction et Mini car je voulais une domotique minimaliste qui réalise uniquement les fonctions essentielles aux économies d’énergie. En effet, je ne me voyais pas tenter de faire des économies d’énergie en montant une baie 42U truffée de servers qui consomment 2kW rien que pour allumer une led et regarder ses films depuis un NAS (non, je ne vise personne ^.^). L’architecture globale est la suivante :

JC1

Le cœur de l’architecture est un Sheevaplug (PlugComputer) dont une des caractéristiques est sa faible consommation (5W, cohérent avec une maison à faible consommation d’énergie!) et dont les performances suffisent à gérer les quelques applications nécessaires à la gestion de l’énergie de la maison.

JC2

Du coup, pas de quoi vraiment frimer, je suis loin des baies 19″ remplies de racks multimedias ;-) Mon installation tient sur un quart de l’étagère située au dessus de l’écran de mon PC .

La majeure partie des périphériques sont réalisés à base de Jeenode, ce sont des modules de type Arduino qui intègrent un module radio UHF. Ces Jeenodes permettent de réaliser un réseau sans fil de capteurs et d’actionneurs. Les Jeenodes sont peu chers mais seuls, ils ne font pas grand chose, il faut les programmer et ajouter les quelques composants électroniques pour réaliser les fonctions de son choix. Ce n’est pas à la portée de tout le monde, mais étant ingénieur en conception électronique, je n’ai pas eu à investir beaucoup de temps pour réaliser ce travail.

Voici quelques photos de modules réalisés autour des Jeenodes :

JC3

  • Module pour la téléinformation EDF :

Le premier module que j’ai réalisé, comme la plupart des personnes qui se lancent dans la domotique : récupéré les données de la téléinformation du compteur EDF ! Assez simple au niveau électrique mais assez bavard !

JC4  JC5

  • Module capteur de température/humidité

J’ai réalisé un PCB (façon ‘pro’) car cette fonction est dupliquée une dizaine de fois pour mesurer les températures en divers points de la maison : Intérieur, Extérieur, Puits canadien, VMC, Combles, Chambres …

JC6

  • Module pour interface avec le poêle à granulés

Rika (fabricant du poêle), propose un boitier en option à 250€ pour piloter son poêle par GSM (+ coût abonnement) et faire thermostat. La solution me paraissait chère et ne convenait pas à mon besoin (pas pilotable depuis la domotique). J’ai donc relié un Jeenode aux boutons du boitier de commande du poêle, ce qui me permet d’agir à distance (même dans les menus de config du poêle!) et donc de faire varier la puissance.

JC7 JC8 JC9

  • Module pour interface avec la télécommande des VR SOMFY

Ne pouvant pas communiquer directement avec les interrupteurs radios (SOMFY utilise un chiffrage avec du rolling-code), j’ai acheté une télécommande RTS Somfy d’occasion à 20€ et j’y ai associé un Jeenode qui commande les boutons.

JC11 JC10

  • Module pour capteurs extérieurs

Je suis assez content de ma ‘ruche’ car avec juste 2 accus NiMh et le petit panneau solaire (récupéré sur une lampe à led de jardin à  5€), j’arrive à avoir une autonomie complète. Pas besoin de recharger les piles car le petit panneau recharge suffisamment les accus car j’ai pu optimiser la conso du jeenode à quelques µA lorsqu’il est en veille.

JC12 JC13

  • Module pour piloter le bypass du puits canadien

Mon bypass 3 voies pilotable à distance pour quelques dizaines d’euros. l’équivalent dans le commerce (avec pilotage filaire) vaut entre 300€ et 500€ !

            DCIM100GOPROVidéo du bypass en fonctionnement : http://www.youtube.com/watch?feature=player_embedded&v=D9X9pCvGepM

  • NFC

A titre expérimental, j’ai voulu mettre en oeuvre l’utilisation de tags NFC car ma compagne et moi possédons tous les deux un Nexus 4 qui intègre un lecteur NFC. J’ai eu l’idée de me servir d’un tag pour indiquer à la domotique si nous entrons ou sortons de la maison pour passer en mode Automatique ou Manuel.
Avec Tasker sur Android, j’ai pu réaliser assez simplement cette fonction avec en prime un peu de Text-to-speech sur le téléphone.
A l’usage, c’est finalement peu concluant, pour activer le tag, il faut allumer son téléphone, déverrouiller l’écran et le passer sur le tag, ce qui demande un certain effort en entrant dans la maison car en général on a plutôt ses les clés et son sac dans les mains, il en faudrait une troisième pour passer le smartphone sur le tag.
Le RFID serait plus approprié (avec un tag sur son sac ou ses clés) mais cela oblige à avoir un lecteur dans l’entrée, ça demande un investissement supplémentaire…
J’attends d’avoir fini (commencé?) le support pour la tablette tactile dans l’entrée pour savoir si cela suffirait .

            JC15JC16

  • Interface Homme-machine

Une version ‘online’ est disponible ici : http://minbiocabanon.free.fr/static_domini/index.php (pas à 100% opérationnelle car il n’y a pas la base de données derrière) mais qui est une duplication de ce que j’ai chez moi.
J’ai volontairement choisi le format ‘Web’ pour l’interface car elle est universelle, il n’y a pas d’applications spécifiques à installer sur les clients et ça reste léger. L’accès à l’interface se fait de la même façon que l’on soit sur le réseau local de la maison (Wifi ou Ethernet) ou depuis l’extérieur, seule l’@ IP change.
Afin que l’interface soit ‘responsive’ (qui s’adapte au format de l’appareil : tablette/smartphone/PC), j’ai utilisé le framework offert par Bootstrap qui permet de styliser son IHM afin qu’elle s’adapte au format tablette/smartphone/PC etc automatiquement. Le rendu et agréable est il est facile d’établir une charte graphique sans être soi-même graphiste. Autre atout non négligeable, cette interface fonctionne aussi bien avec une souris qu’avec un écran tactile, ce qui pas forcément trivial à réaliser.

            JC17

Exemples de graphiques : réalisés avec Highstock:

JC18

            JC19

  •   Logiciels spécifiques

Sans entrer dans les détails, j’ai conçu plusieurs logiciels qui gèrent les différentes ressources :

  • Régulation du poêle : anticipe le démarrage du poêle, régule la puissance selon le planning et la consigne de température. La régulation fonctionne une boucle avec PID dont les coefficients ont été obtenus par observation du comportement thermique de mon habitat (après 1 an de relevés de température et d’observation de la réponse thermique de la maison selon la puissance de chauffe). Plusieurs mois de travail pour établir le modèle thermique de la maison, définir l’algorithme, rédiger le code et faire la mise au point.
  • Bypass : pilote la position du bypass du puits canadien pour obtenir le flux d’air adapté à la saison (air tempéré du puits canadien ou air extérieur).
  • Volet roulants : pilote les volets roulants pour maximiser ou minimiser les apports solaires passifs.
  • Planning : gère le planning et génère les consignes sur l’année (saison, heure de présence, consigne de température, type de jour….)
  • Réception des messages radio : gère le Jeelink qui reçoit tous les messages radio des modules, dépouille et stocke les infos dans la BDD
  • Transmission des message radio : gère l’envoi des commandes aux divers modules. Commandes en directe depuis l’IHM, ou commandes cycliques générée par les applications (état volets roulants, position bypass, consigne puissance du poêle,…)
  • Archivage/sauvegarde : afin de ne pas perdre des données, la BDD est quotidiennement archivée et sauvegarder sur un autre serveur.

Toutes ces applications tournent en parallèle. Les échanges d’informations se fait via une base de données MySQL

 Une partie de mes travaux sont sur mon blog : http://minbiocabanon.free.fr/index.php?tag/domotique
        J’ai récemment mis tout mon projet sur github, vous y trouverez tous les codes sources, plans des modules, documents, datasheet etc… : https://github.com/RideZeBigOne/Domini

Évolutions envisagées

  • Faire un support pour la tablette qui s’intègre bien dans la déco de la maison car pour l’instant elle voyage pas mal dans toutes les pièces,
  • J’envisage de me faire mon alarme habitat. Elle sera autonome, j’entends par là que la centrale qui gérera les capteurs sera indépendante de la domotique, même si je garderai une passerelle en la domotique et l’alarme afin de faciliter la gestion de l’alarme. Je me servirai de l’IHM de la domotique pour gérer les modes d’alarme (ON, OFF, mode panique, zones etc…)
  • Compléter avec quelques caméras de surveillance,
  • Compléter la station météo avec pluviomètre et girouette,
  • Migrer le serveur domotique sur une machine plus robuste que le Sheevaplug : j’envisage de recycler mon précédent PC (Barebone) en serveur domotique avec disques montés en RAID pour éviter les pertes de données et le travail réalisés,
  • Intégrer la surveillance de mon robot tondeuse dans la domotique,
  • Pourquoi pas de la reconnaissance / synthèse vocale.

Si c’était à refaire

  • J’aime apprendre, bidouiller et créer, donc je pense que je repartirai sur une solutions DIY mais probablement sur d’autres technos qui ont vu le jour ou qui se sont démarqués ces dernières années : EnOcean, Z-Wave … mais je sais que ça m’aurait coûté plus cher.
  • J’aurai du faire l’effort d’apprendre un autre langage de programmation pour mes applis, le Python semble adapté et moins contraignant pas certains aspects que le C (galère pour gérer les chaines de caractères et les types de variables)
  • Prendre un plug computer plus robuste. La SDCard du sheevaplug a cramé au bout de 6 mois à cause du nombre d’accès (beaucoup de données à stocker). J’ai du utilisé un DD USB au final, ce qui fait un peu pièce rapporté sur le sheevaplug. Un NAS ou miniPC avec disque RAID aurait peut être été la bonne solution dès le départ. Le problème reste l’investissement de départ quand on ne sait pas si on va arriver au bout de son projet.
  • La finalité du projet me semble être atteint (2 ans de travail). Cela fait une année que ma domotique tourne de façon nominale, je continue à corriger ou améliorer le système mais ça reste du peaufinage. Tous les objectifs initiaux sont atteints. Maintenant, comme on n’arrête pas le progrès, je ne vais pas pouvoir m’empêcher de faire évoluer ma domotique qui est actuellement fonctionnelle, rapide et minimale en une usine à gaz qui sera buggée et pleines de fonctions inutiles. Blagues à part, je vais essayer de ne pas céder à la tentation de rajouter des choses inutiles car j’aime les systèmes simples et efficaces. Je pense plutôt essayer de rendre plus robuste mon système, voire essayer de le rendre installable par un tiers.(travail en cours sur le dépôt github!).

Bref, y’a toujours quelque chose à faire!

banner my domotique smoke sensor

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

24 Comments

  1. Énorme ! Somme de travail impressionnante.
    Maîtrise de son environnement et des kW.
    Top DIY.
    J’adore …

  2. Génial, une install DIY propre. J’ai fait un tour sur le site, très intéressant…un seul mot « Félicitations ».

  3. le top, bravo, c’est impressionnant.

  4. C’est tres impressionnant.. Je ne connaissais pas ces modules et le tout semble bien architecture.
    Bravo !

  5. Bravo, c’est super !
    Est-ce que tu as envisagé de mettre une partie de tes travaux en Opensource (software et hardware) pour que d’autres en profitent ?
    le wiki renvoit une erreur 404.

  6. Super travail d’intégration en DIY et de trés bonnes idées mise en pratique :)

    Félicitations

  7. Tres belle installation ! et énorme investissement personnel.
    J’aime bien aussi ton blog avec tes explications …
    Continue c’est super

  8. Ce projet aurait pu s’appeler DomAutrement aussi… ;-)

  9. Les objectifs sont clairs, simples et utiles. Bravo pour le puits Canadien. Le résultat est efficace.
    J’aime !

  10. effectivement je suis scotché par ton installation magnifique, pourquoi ne pas investir sur Jeedom tout le travail déjà consenti, ça te laisse une base robuste pour bidouiller autours

    en tout cas encore bravo pour ce magnifique travail

  11. En effet super Intéressant et complet;) Je Kiff;)

  12. Superbe en effet je suis impressionné!
    Je ne trouve pas tes sources pour la génération des graphes sous highcharts.
    Pourrais tu me les monter je te prie?

    Merci

  13. Le DIY le vrai. Bravo !

  14. Bonjour,

    Merci pour tous ces commentaires positifs, c’est comme une récompense pour les ‘quelques’ heures passées à faire tout ça ;-)

    Je vais essayer de répondre aux questions sans faire trop long :

    @oliv06 : Oui, c’est en train de devenir ‘open’ car je suis en train de migrer d’un dépot SVN (assembla non plublique) à Github. Il y a le lien dans l’article, je le remet ici : https://github.com/RideZeBigOne/Domini . C’est encore un peu en chantier et je migre aussi le wiki au fur et à mesure. J’ai supprimé le wiki sur mon site car il était en permanence détruit par des robots qui me modifiait les pages.
    Je suis en train de le refaire ici : https://github.com/RideZeBigOne/Domini/wiki/Periphs . Ca risque de bouger un peu dans les jours qui viennent car je met un peu tout en vrac et je rangerais ensuite (mode ‘déménagement’ quoi lol).

    @Domi : j’ai vu quelques articiles récent sur JeeDom, intéressante cette plateforme mais trop de taff pour y migrer ma domotique. Et maintenant que j’ai un système qui est stable, je vais essayer d’en profiter un peu avant de tout casser ^^

    @tonton bens : je recopie la réponse que j’ai donné à Ludovic sur g+ :

    Pour l’historique des données, tout est stocké dans une base de données MySQL.
    Pour les graphs, j’utilise highstock et des fichiers CSV. Ces fichiers sont générés par des scripts lancés périodiquement (par CRON) qui viennent taper dans la BDD afin d’exporter les données nécessaires aux graphs. j’aurai pu directement interroger la bdd depuis le JS d’Highstock mais le sheevaplug rame un peu sur les requêtes un peu complexes (surtout si il y a du tri). Alors qu’avec un CSV déjà prêt c’est juste de l’affichage ‘directe’. Autre avantage, ça me permet de faire un upload complet du site et de rendre dispo les données sur le site miroir (qui sert de démo). Plus simple que d’exporter toute la base !
    Je génère les CSV avec du PHP : https://github.com/RideZeBigOne/Domini/tree/master/serveur/www/domini/php/highstock
    Parfois c’est un simple ‘get’ de la table avec une limite sur la date, parfois c’est plus complexe avec des requêtes imbriquées pour les statistiques
    Pour éviter le grossissement imuable de la BDD, j’ai fait des petits softs (en C) qui vont quotidiennement nettoyer les tables. Par exemple pour les données Téléinfo : je ne garde que les données HP/HC des débuts et fin de période (pour les jours < J-2) , ainsi ça me fait 4 valeurs par jour. Idem pour les sondes : je garde 3 données par heure : la première données de l'heure, le min et le max dans l'heure. Ainsi, ma base de données ne grossit pas trop et les requêtes ne sont pas trop ralenties.
    J'ai du faire ça car avec la téléinfo, les tables devenaient énormes (plusieurs millions de lignes par an!) ce qui compliquait l'archivage et les requêtes.?

    Si vous avez d'autres questions n'hésitez pas ! :-)

  15. Concernant le DIY, c’est vrai que ça le plait de maîtriser chaque partie (ou presque), le côté « c’est moi qui l’ai fait » est assez gratifiant. Par contre, y’a aussi le côté « oups, j’ai un gros bug » avec parfois le poêle qui n’a pas démarré le matin en plein hiver, là ma compagne me fait bien comprendre que le DIY ça a des limites… Bon depuis j’ai corrigé les bugs (en moins de 24h pour assurer le lendemain lol).
    Autre inconvénient, l’évolutivité n’est forcément facile car ma domotique ne repose pas sur des plateforme ‘standard’, donc si je veux ajouter des périph Z-wave & Co, ça va me prendre pas mal de temps pour intégrer ça à ma plateforme pour que ce soit intégrer en natif et pas juste une pièce rapportée. Quand je vois la vitesse à laquelle d’autres féru de domotique déploie des solutions « sur étagère » ça fait réfléchir !

  16. ouahhhhhh…. je suis impressionné….
    BRAVO !!!!!!!!!!!!!!!

    As tu une astuce pour domotiser un Hydro a granulées ?

  17. Merci julien pour le partage des informations et l’accessibilité de tes scripts.

  18. Oui, géré la température et le programmer a distance ;)
    (l’eau chaude est géré par un ballon thermodynamique)
    J’ai commencé a regarder ça en détaille, j’ai déjà quelques idée. bientôt le tuto.
    merci pour le lien, mais il est mort.

  19. @Julien,
    Oui Hydro c’est bien une chaudière a granulées a part qu’elle ce place dans habitat car elle fait aussi office de poêle.
    Dans mon cas la carte est équipée d’un contacte sec. Une entrée pour un thermostat extérieur et une entrée pour gestion par GSM.
    Si tu souhaite je t’envoie le schéma de la carte, tu va peut être avoir une idée et un matériel a me conseiller.
    Au début je voulais l’équiper d’un couple SCS317 + SSR303 mais je suis quasiment sur que je ne pourrais faire les réglages de température/programmation via le thermostat z-wave. Pascal m’as proposé de brancher un FGS211 sur le contact sec (GSM)
    C’est une solution que j’envisage mais qui ne remplie pas tous mes souhaits.
    Comme le hydro est programmable (journalier/hebdomadaire) mais avec une seul température, je voudrais la changer via ma box avec quelques petite scènes LUA.
    La meilleurs solution sera de trouver un thermostat extérieur compatible Zwave, même si’il faudrait le bidouiller ;)
    Malheureusement les thermostats extérieur de la marque ne sont pas compatible zwave.

    Merci a toi

  20. OK même principe que pour mon Rika RIO. Le contact sec je trouve ça pas terrible car ça fait ON/OFF et ça ne permet pas de faire de la régulation (les poêles à granulés ne sont pas fait pour s’éteindre à s’allumer 10 fois par jour).
    C’est pour ça que j’ai choisi de me reprendre sur les boutons du panneau de commande afin de pouvoir l’allumer ET faire varier la puissance.
    Je ne connais pas les produits Zwave mais si il existe une carte qui permet de piloter 4 ou 5 sorties (relais ou transistor), le tour est joué!
    Le seul réel inconvénient de cette solution :le pilotage se fait sans retour d’information (un peu à l’aveugle), donc il faut blinder son programme et intégrer des procédure pour se recaler dans les menus ou les consignes, sinon on a fait fait de faire n’importe quoi dans les menus du poêle. Mais afin un peu de temps à passer ne mise au point ça fonctionne très bien, la preuve avec mon poêle ;-)
    Il faut aussi oublier la garantie constructeur au passage :-\

  21. Bravo ! Le trophée est mérité amplement !!!

    Aurais-tu la gentillesse d’expliquer comment tu as monté le chargeur solaire pour charger ton module ?
    Je voudrais faire la même chose pour quelques modules zwave extérieurs qui me mangent des piles… Mais je ne sais pas par où commencer…
    Merci par avance, et félicitations pour ce superbe travail !

Trackbacks/Pingbacks

  1. Domotic | Pearltrees - […] Installation Domotique de Julien C. Mon installation domotique est dédiée principalement à la gestion et l’économie d’énergie. […]

Laisser un commentaire