1ère Expérience Domotique Imprimer
Écrit par Administrator   
Dimanche, 28 Avril 2013 12:41

MA PREMIERE SOLUTION DOMOTIQUE



Description du besoin (satisfait par la solution)

J'ai souhaité avoir une solution sur mesure (tout le monde n'aura pas le même besoin).

Habitant près d'une station de RER, je souhaitais être averti soit sur demande, soit à des heures précises des prochains passage du RER, et disposer d'informations comme la météo, d'autres horaires de train ... facilement.

Je souhaitais aussi que le simple passage d'une puce RFID (comme les Vigik), me permette d'exécuter un scénario (allumer la lumière du salon, allumer la TV et la Freebox, et mettre la chaîne désirée selon l'heure de passage de la puce par exemple).

Mes volets électriques étant déjà gérés par un petit boîtier de la marque des volets, je n'ai rien eu à faire de ce côté là (ils s'ouvrent et se ferment déjà selon des heures programmées et/ou selon les heures de coucher du soleil).

J'avais aussi besoin de gérer l'allumage et l'extinction d'un ou plusieurs radiateurs électriques autrement qu'avec la centrale actuelle qui gère mes radiateurs avec fils pilotes 6 ordres (je n'ai que 2 zones alors que j'en aurais souhaité autant que de radiateurs pour être le plus fin possible dans les réglages).

Enfin, et ce n'était pas prioritaire, mais finalement assez simple à réaliser, un ensemble multiroom audio me permettant d'écouter la musique ou la TV dans les pièces où je me situais.

Après beaucoup de surf sur le net, j'ai assemblé avec divers composants, la solution qui correspondait à mes besoins, et le tout, pour un coût négligeable. Je vais indiquer avec le descriptif matériel, le prix que j'ai payé pour chaque composant.

MATERIEL

- Seagate Dockstar (petit serveur sous Linux Debian, acheté 15 € et plus puissant qu'un Raspberry PI mais sans sortie vidéo - contrôlée via SSH ou Web avec webmin).Un Raspberry PI serait aussi la solution et ferait exactement pareil, mais j'avais le Dockstar sous la main et inutilisé, (https://blog.slucas.fr/blog/raspberry-pi-dockstar-le-combat),

Dockstar

- Rfxtrx433 USB de chez RFXCOM pour les ordres domotiques en 433.92 MHz (95 €),

rfxcom

- Carte audio USB (2 € sur dx.com)

carte usb audio

- Prises Castorama ou Leroy merlin à 20 € les 3 (yc télécommande),

prises casto

- Karotz, le successeur du Nabaztag, pour les infos et ordres transmis en RFID, en RJ45 (70 €),

karotz

Toute la solution me revient donc à moins de 200 €.

- Mi 2013 j'ai ajouté un Eco-device de chez GCE pour relever la consommation EDF (compteur principal et ECS)

LOGICIEL (100 % opensource)

- Système d'exploitation DEBIAN pour le Dockstar

- Serveur Domotique FHEM installé sur le Dockstar

- Webmin sur le Dockstar pour l'administrer facilement depuis une interface web (supprimé fin 2013 car trop gros)

- Putty sous Windows pour administrer en ligne de commande le Dockstar

- MPD, serveur Multimedia sur le Dockstar pour le multi room Audio

- Un émetteur FM style Belkin Tunecast (version 1, bien mieux que la version II), ou SONARIL (très bien aussi)

- OWserver : Ajout du 1-wire pour relever la température dans les pièces (via RJ45)

- Base MySql pour relever la conso EDF (script tous les 1/4 d'heure pour injecter dans la BDD puis courbe avec HighCharts)

- une Freebox V6

MISE EN OEUVRE DE LA SOLUTION

Serveur domotique FHEM

Je ne décrirai pas la solution domotique Dockstar+FHEM, car quelqu'un l'a très bien fait :

http://play.with.free.fr/index.php/domotique-avec-fhem-sur-dockstar/

Toute l'installation y est très bien décrite, et j'ai posé quelques questions qui permettent d'en savoir un peu plus.

Cette solution me permet de gérer facilement les extinctions/allumages des prises électriques de la Freebox, de la TV, de la lumière et aussi du chauffage que je voulais rendre indépendant (du coup, je l'ai mis sur une prise électrique, et je n'ai PAS branché le fil pilote). Ainsi, le matin au lever, tout s'allume aux heures et jours que j'ai programmé (et en tenant compte des jours fériés). FHEM inclu même la possibilité d'aller voir votre agenda, et si vous êtes en congé, il en tiendra compte (je n'ai pas encore utilisé cette fonction). Mais quid de l'utilisation de tout ceci avec le Karotz ? (au pire il y a la télécommande livrée avec les prises électriques).

Quelques photos de mon coffret domotique :

Coffret en gobal Fbx en bas du coffret


Dockstar&rfxtrx433Karotz Dockstar customisé

avec 1wire

KAROTZ + FHEM

Ce que je n'ai trouvé nul part, est l’interaction entre le Karotz et le Dockstar/FHEM. La seule solution simple que j'ai trouvée est d'utiliser KRON sur Karotz, pour exécuter un script que j'ai placé sur le Karotz (KRON est une appli sur le Karotz où il suffit d'indiquer une adresse ip pour faire ce que l'on souhaite).

Exemple sur KRON nous avons :

http://192.168.0.xx/cgi-bin/abcd.sh

Ceci est l'adresse IP de mon Karotz où se trouve le script abcd.sh

Pour y parvenir, il faut installer sur le Karotz un serveur CGI qui permet d'exécuter des scripts. Il suffit de suivre la solution de wizz.cc ici :

http://wizz-cc.blogspot.fr/2012/10/karotz-bootstrap-jquery-cgi-template.html

De là, et comme indiqué dans le tutoriel, il suffit de mettre un script bash dans le répertoire www/cgi-bin/. Ici, abcd.sh

Exemple de script :

#!/bin/bash

time=`date +%k%M` ; // recup de l heure

if [ $time -ge 2130 ] // s il est plus de 21h30, alors tu éteins la freebox, attends 4 s, et éteint TV et lampe. Les cdes //sont doublés par sécurité

then

curl -s -o /dev/null -L "http://hd1.freebox.fr/pub/remote_control?code=yyyyyyyy&key=power"

sleep 4

curl -s -o /dev/null -L "http://192.168.0.xx:8083/fhem?cmd.LAMPE=set%20LAMPE%20off&room=all"

curl -s -o /dev/null -L "http://192.168.0.xx:8083/fhem?cmd.TV=set%20TV%20off&room=all";

curl -s -o /dev/null -L "http://192.168.0.xx:8083/fhem?cmd.LAMPE=set%20LAMPE%20off&room=all"

curl -s -o /dev/null -L "http://192.168.0.xx:8083/fhem?cmd.TV=set%20TV%20off&room=all";

fi

if [ $time -le 2130 ] # -a &time -ge 0900 // s'il est moins de 21h30 et plus de 9h00 alors allume tout et mets F2 si >20h // sinon M6

then

curl -s -o /dev/null -L "http://192.168.0.xx:8083/fhem?cmd.LAMPE=set%20LAMPE%20on&room=all"

curl -s -o /dev/null -L "http://192.168.0.xx:8083/fhem?cmd.TV=set%20TV%20on&room=all"

curl -s -o /dev/null -L "http://192.168.0.xx:8083/fhem?cmd.LAMPE=set%20LAMPE%20on&room=all"

curl -s -o /dev/null -L "http://192.168.0.xx:8083/fhem?cmd.TV=set%20TV%20on&room=all"

sleep 50

curl -s -o /dev/null -L "http://hd1.freebox.fr/pub/remote_control?code=yyyyyyyyy&key=ok"

if [ $time -ge 2000 ]

then

curl -s -o /dev/null -L "http://hd1.freebox.fr/pub/remote_control?code=yyyyyyy&key=2"

else

curl -s -o /dev/null -L "http://hd1.freebox.fr/pub/remote_control?code=yyyyyyyy&key=6";

fi

fi

 

yyyyyyyyyy est le code télécommande de la freebox et xx est l'adresse ip du Dockstar où se trouve FHEM qui exécute les allumages/extinctions des prises (le site web de FHEM se trouve sur le port 8083).

Globalement, la solution est entièrement pilotée via des ordres http car FHEM supporte ce mode de fonctionnement, ainsi que la Freebox (la télécommande est simulable via des ordres http), et KRON du Karotz fait de même. KRON est associé à une puce RFID appelé Flatnoz ou Bookz.


LAMPE et TV, on été défini comme indiqué sur le site play.with.free dans FHEM. Ensuite il n'y a qu'à commander via http ces prises, ou le faire via l'interface web (sur PC, tablette...) ou même via un smartphone/tablette Android avec l'application sur le playstore :

https://play.google.com/store/apps/details?id=li.klass.fhem&hl=fr


La programmation des ON/OFF des radiateurs, lumières, radios... se fait directement dans FHEM qui permet une programmation très fine via le langage PERL (très puissant mais faut connaître ce qui n'est pas mon cas). Il est aussi possible d'utiliser la programmation d'événements en utilisant CRON sur le Debian du Dockstar (ce que je fais). C'est ainsi que ma radio est allumée ou éteinte, ainsi que le serveur multimédia.


Multiroom audio

Je ne suis pas fan de musique, mais la radio de ma cuisine et de ma salle de bain ne captaient pas bien la FM. Je me suis penché sur les émetteurs FM utilisés dans les voitures, et j'en ai trouvé 2 qui émettaient à au moins 10 m, avec une qualité radio suffisante. C'est ma solution multiroom (j'ai cherché les solutions classiques multiroom : les prix sont exorbitants !).

Sur le Dockstar, la carte audio USB est vraiment plug&play : j'ai branché la clé, et ça fonctionnait du premier coup !

Je n'ai eu qu'à brancher l'émetteur FM sur la sortie casque, régler le canal FM sur mes radios, et après avoir installé MPD sur le Dockstar, la radio FM via internet était diffusée sur mes radios de l'appartement en très bonne qualité. J'ai aussi lié MPD avec la freebox, et c'est toute ma discothèque qui est accessible de la même manière. Le tout piloté via un lecteur MPD sous Android (il y en a plein) ou via windows (gmpc par exemple).

Pour l'installation de MPD sur le Dockstar, j'ai suivi ce tutoriel qui est fait pour le Raspberry PI :

http://www.forum-audiophile.fr/musique-demat/installer-mpd-sur-raspberry-pi-distrib-raspbian-t29155.html

Il est aussi tout à fait possible d'installer à la place de MPD, un serveur Squeeze Box (détaillé par Olivier sur son site http://play.with.free.fr/index.php/squeezebox-server-sur-seagate-dockstar/)

Et c'est FHEM (piloté par CRON), qui allume et met la radio que je souhaite, le matin, dans ma salle de bain (après avoir allumé le chauffage bien sûr !). Les volets s'étant levé en même temps que mon radio réveil (lui aussi sur radio fredclo ;-)


ECOLOGIE

Il faut savoir que tout ceci a été fait dans le but d'économiser de l'énergie. La Freebox (média) n'est plus en veille mais éteinte.

Le Karotz ne consomme que 2-3 W.h. Même consommation pour le Dockstar (mesure avec mon wattmètre).

En parallèle de cela, j'ai supprimé le CPL dans l'appartement en connectant mes prises existantes RJ45 en suivant le tutoriel suivant (http://norand.free.fr/creer_son_vdi.html), et en utilisant un petit switch qui relie la freebox aux prises murales. Et contrairement à ce que j'ai pu lire à droite ou à gauche, mes prises RJ45 PTT, me permettent d'avoir du 45 Mo/s ce qui est excellent (10 fois plus rapide que mon wifi n ou mon CPL) !

Le wifi est allumé ou éteint à des heures programmées (plusieurs solutions existent via un script sur le Dockstar qui contrôle le wifi de la freebox en curl, lancé via Cron).

Le radiateur que j'ai isolé, est celui de la salle de bain : il est électrique mais à eau (porte serviette), et s'allumait parfois dans la journée alors que je n'en n'ai pas l'utilité. Et comme l'inertie d'un chauffage à eau est très importante, le temps que l'eau chauffe et que la pièce soit à température, cela consommait assez pour que je le gère autrement (allumé uniquement le matin dans la semaine, et à la demande le week-end).

Le truc cool, c'est qu'en plus je capte une sonde de température extérieure Oregon d'un voisin ! j'ai des courbes et historique via AndFhem, c'est sympa, et en plus je n'ai pas à m'occuper des piles à changer ! ;-)

Je vais sûrement ajouter à tout cela et pour le fun, un adaptateur (30 €) qui permet de brancher le Dockstar au compteur EDF : ainsi pour le défi énergie (http://www.familles-a-energie-positive.fr/), je n'aurai plus rien à faire (car actuellement je relève ma consommation à la main).

Hésitez à me poser des questions si vous en avez, car je suis au delà de mes compétences, et j'ai tout appris via internet !

Mise à jour le Dimanche, 18 Décembre 2016 10:02