Ma domotique version 2016

Mes objectifs

  • Économie
  • Automatisation
  • Sécurité
  • Gestion simplifiée et à distance
  • Faire le geek… Au grand regret de ma femme 😉

Quel matériel ?

Étant fan absolu de l’Open Source, j’ai opté pour du 100% DIY (Do It Yourself). Le DIY a le mérite de ne pas coûter grand chose et d’être par définition extrêmement souple.

  • Cartes Arduino (Uno / Mega) + carte Ethernet = 3×20€
  • Un grand nombre de relais optocouplers = 10×5€ le double relais
  • Led, sondes de températures, d’humidité, de luminosité = 50€ en gros
  • Cluster de serveurs pour installer un Proxmox et ainsi héberger entre autre mon logiciel de domotique OpenHAB = 2×100€
  • 2x RaspberryPI = 2×50€
  • Un Harmony HUB = 60€
  • Modem GSM = 15€
  • Plaques à souder = 20€
  • Un bon vieux fer à souder 😉

Total: 510€ (disons que j’ai peut-être oublié des petites choses, mais le tout fait moins de 600 / 650€)

Mon installation

J’ai commencé par utiliser en protocole de communication des web services (API) pour connecter toutes les cartes Arduino à OpenHAB. Mais ce protocole (HTTP) était un peu trop lourd. J’ai donc vite opté pour un autre protocole, MQTT qui est bien plus léger.

OpenHAB

Après avoir beaucoup cherché de logiciel Open Source gérant la domotique, j’ai choisi OpenHAB. OpenHAB est un logiciel domotique Open Source basé sur Java, qui pour moi et à l’époque, 1 ans et demi environ, me permettait au mieux de gérer ma domotique. Il y a une interface graphique et une application Android. Il peut être hébergé sur un simple Raspberry PI, mais pour ma part ayant déjà un cluster de virtualisation sous Proxmox, j’ai donc installé une VM juste pour lui.

domotique-info-mickael_h_1

domotique-info-mickael_h_2

Volets roulants électriques

Comme le montre la photo, j’ai réalisé le montage à base d’une Arduino MEGA et de doubles relais. Grâce à ce système, mes volets sont pilotables avec, soit les boutons aux fenêtres, soit par mon système de domotique. Chaque double relais pilote un seul volet. Le relais 1 composant le double relais sert pour la descente, et le relais 2 pour la montée. Il y a aussi un module d’horloge, mais qui ne me sert plus. Le tout est enfermé dans une boîte électrique.

J’ai plusieurs scénarios:

  • Après activation de l’alarme de la maison, cette dernière devient autonome, donc les volets se ferment ou s’ouvrent selon la luminosité extérieure, grâce à un capteur positionné sur le mur nord.
  • En cas d’effraction (alarme qui sonne), les volets se ferment automatiquement.
  • S’il fait trop chaud en été et que la température intérieure est plus fraîche que l’extérieure, les volets se ferment.

domotique-info-mickael_h_3

Lumières extérieures

J’ai positionné une Arduino UNO dans l’une des petites cabanes que j’ai dans mon jardin. Comme le montre la photo, il y a une alimentation, l’Arduino UNO et un double relais qui permet de piloter 2 jeux de lampes extérieures. Le tout toujours enfermé dans des boîtes électriques différentes pour le courant fort et faible.

domotique-info-mickael_h_4

VMC

Ma VMC qui est double flux, n’était pas hygroréglable (changement de vitesse par rapport à l’humidité ambiante). J’ai donc ajouté une sonde DHT11 pour connaître la température et l’humidité de ma salle de bain. Cela permet de piloter la VMC pour la passer en vitesse 2 quand quelqu’un prend une douche par exemple. De plus, selon la saison et la température extérieure la VMC se coupe en journée en été, et la nuit en hiver. Cela permet, en été de garder un peu de fraîcheur, en hiver de ne pas faire entrer trop de froid la nuit.

Alarme de la maison

Comme vous pouvez le voir sur la photo, mon alarme est “old school” (c’est de la récupération). Sachant qu’il n’y avait rien d’IP ou autre dessus, l’ami qui me l’a installée a aussi positionné deux relais 12V pour créer des contacts secs. Ces contacts sont reliés à une Arduino UNO pour connaître les états de mon alarme (est-elle activée ? Est-elle en intrusion ? etc …). Comme expliqué plus haut, cela permet au système domotique de savoir quand nous sommes à la maison ou non de façon certaine.

domotique-info-mickael_h_5

Consommation électrique

Je mesure ma consommation électrique sur l’arrivée principale de la maison dans mon tableau électrique avec un capteur ampère-métrique. Ce capteur est ensuite relié à une Arduino MEGA (la même que celle servant aux volets, pour des raisons d’économie de carte).

Pince ampère-métrique, connectée à une Arduino MEGA et utilisant la librairie “EnergyMonitor“

domotique-info-mickael_h_6

domotique-info-mickael_h_7

En haut les watts sur un graph d’1H

En bas les ampères sur un graph d’1H

Couplage avec un Harmony Hub

OpenHAB permet de piloter un Harmony Hub (télécommande universelle de Logitech) depuis que Logitech a ouvert ses API. Grâce à cela, je peux démarrer, soit un scénario télé (Ex: j’allume ma TV + ma freebox quand je rentre le soir), soit  rendre “domotisable” un climatiseur lowcost. Pour illustrer cela, j’ai fait une petite vidéo, c’est plus parlant: https://goo.gl/PVD6fv

Pilotage à la voix + mode « Jarvis »

J’ai codé certains scénarios sur mon système domotique qui s’activent à la voix. Grâce à  l’application Android, je peux “parler” à mon téléphone et les ordres sont poussés vers OpenHAB en mode texte. Par exemple quand je prononce « fermes tous les volets » à mon téléphone, l’intégralité de mes volets se ferment. Ou encore « allumes les lumières extérieures« , je vous laisse deviner ce qu’il se passe 😉 Idem, une petite vidéo pour illustrer mes dires : https://goo.gl/lVA88X

Le mode “Jarvis” (la maison qui nous parle) est réalisé à base de Text 2 Speech Google installé sur un RaspberryPI. Deux petites enceintes sont connectées dessus pour diffuser le son à l’entrée de ma maison. J’ai plusieurs scénarios:

  • Le matin, la maison me prévient qu’il va faire plus de 23°C dans la journée, donc je dois penser à fermer la porte de ma véranda si je ne veux pas que le reste des pièces deviennent des fours. Elle prononce “Merci de fermer la porte de la véranda”.
  • Quand je désactive l’alarme et que nous sommes un jeudi, elle me prévient qu’il faut sortir les poubelles, et elle n’oublie pas de me dire quand il faut sortir la poubelle des cartons une semaine sur deux. Elle prononce “Merci de sortir la poubelle” et ajoute si besoin “Et de ne pas oublier les cartons”.

Connexion à ma Freebox

Avec l’API Freebox, je peux remonter pas mal d’informations la concernant. Mais l’information principale pour moi, c’est la désynchro de la ligne ADSL (Je n’ai plus INTERNET !!!!). Dans ce cas mon système domotique m’envoie un SMS pour me prévenir de la coupure. Les SMS sont gérés par un modem GSM WaveCom. Le tout est connecté en USB à un serveur.

Niveau de l’eau en zone inondable

Sachant que mon terrain est en zone inondable et que je souhaite savoir quand je vais me réveiller les pieds dans l’eau 😉  j’ai développé un petit module qui permet d’interroger le site http://www.vigicrues.ecologie.gouv.fr/ et ainsi récupérer la hauteur du cours d’eau qui se trouve à 20 mètres de mon terrain. Si jamais l’eau monte trop haut, certains de mes voisins et moi-même sommes prévenu par SMS.

Cabane + VMC + onduleur

Bon, là, certains vont dire que je suis fou, et ils n’auront pas tort 😉 J’ai un “caisson à serveurs” dans une cabane (une baie informatique DIY) et il est refroidit par un puits canadien qui se trouve dans mon jardin, le tout 100% DIY. Une Arduino UNO dans le caisson et des capteurs DHT22 mesurent la température et l’humidité pour contrôler la VMC connectée au puits canadien. Ce système me permet d’avoir une température dans le caisson oscillant entre 20°C et 25°C même par forte chaleur. De plus, un autre DHT22 se trouve hors du caisson pour mesurer la température de la cabane. Un radiateur électrique dans cette même cabane est connecté à un relais, qui est lui aussi piloté par l’Arduino UNO. Cela est utile en hiver pour ne pas que la température à l’intérieur de la cabane ne descende trop bas (jamais en dessous de 7°C).

Photo du caisson à serveurs

domotique-info-mickael_h_8

Principe du puits canadien

domotique-info-mickael_h_9

Evolutions envisagées

My Sensors

Je souhaite essayer le protocole « MySensors » pour installer des cartes Arduino sans fil là où je n’ai pas de câblage réseau.

MySensors me servira à connecter ma chaudière à fuel, avec tout un tas de capteurs de température, et des relais pour la piloter.

De plus, ayant investi dans une pompe à chaleur (PAC) pilotable, elle aussi, par des contacts secs, je souhaiterais rendre le tout plus “économique”. Sachant que pour le moment les deux machines sont totalement indépendantes l’une de l’autre. J’aimerais faire en sorte, par exemple, que quand la PAC fonctionne, la chaudière ne démarre pas.

Un système de multiroom en étude

Je commence à travailler sur ce type de système avec un ampli “Lepai”, ainsi qu’un transmetteur WIFI pour réceptionner la musique UPNP.

Ensuite j’ai trouvé de petites enceintes blanches qui se fondent totalement sur un plafond en placo blanc.

domotique-info-mickael_h_10

Intelligence avec XBMC

Sachant que j’ai deux XBMC sur des RaspberryPI et qu’ils sont connectés tous deux à OpenHAB, je souhaite travailler sur des notifications ou des scénarios.

Ex: quand je regarde un film dans mon salon alors le système baissera le volet de moitié s’il y a trop de soleil dans la pièce.

Si c’était à refaire:

Mis à part les 2 ans de travaux tous les week-ends pour retaper la maison, je ne changerai rien 😉 Le protocole MQTT et le logiciel Open Source OpenHAB ainsi que les cartes Arduino me conviennent parfaitement.

Il n’y a pas de limitation à mon imagination quant aux nouvelles idées d’automatisation ou de scénarios de fonctionnement.

3 Commentaires

  1. Jean-Louis Mounier · · Réponse

    Bonjour !
    Très bel article sur lequel je reviendrais pour en tirer de l’expérience. 2 petites infos qui peuvent aider. Pour avoir de l’Arduino en Wifi, je propose ESP8266-EVB d’Olimex, dispo en kit complet sur Amazon (relais intégré et pas cher !). Par ailleurs, pour ce qui est du son, la WIFI Alliance a annoncé TimeSync qui se penche sur ce problème.
    Bon travail, il va falloir que je m’y mette chez moi…

    1. Bonjour,
      merci pour votre retour.
      Cette Arduino ne fait pas que relais pour les lampes 😉
      Mais il y a des capteurs de température, luminosité, etc….

  2. Tout ça pour fermer un interrupteur de lampe à distance…C’est beau la technologie 😉

Votre commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l’aide de votre compte WordPress.com. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l’aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s

%d blogueurs aiment cette page :