Mon projet domotique libre

L'idée : Contrôler en ligne des radiateurs à fil pilotes

Ma maison est équipé d'un chauffage électrique à fil pilote (deux zones : RdC et étage) et comme programmateur j'avais une horreur de ce genre :

C'est peu ergonomique et non gérable à distance ce qui dans mon cas est problématique car ma présence à la maison est très irrégulière. De plus la roulette de commande était blindée de faux contacts : il était temps de changer !!!

Je pensais m'orienter vers une solution standard du commerce et découvre alors que les appareils simples et efficaces sont tous dédiés à du chauffage central et que pour du fil pilote il fallait acheter :

  1. Un programmateur du même genre que celui que j'avais (entre 100 et 200€)
  2. Une centrale domotique qui gère tout alors que je n'ai besoin que de gérer le chauffage) pour rendre le programmateur pilotable de l'extérieur (dans les 400€)

La solution commerciale (et propriétaire) coûte donc plus de 500€ ce qui est horriblement cher pour la fonction demandée et difficile à amortir. J'ai donc choisi de m'orienter vers une solution DIY composée de :

  1. un Raspberry PI 3 (équipée d'un écran tactile pour plus tard)
  2. un circuit imprimé (PCB) maison fournissant l'alimentation du PI par transformateur et gérant le signal du fil pilote sur deux zones.

Étant nul en électronique je demande à un ami (Alex G.) s'il peut réaliser le circuit et ce fut une réussite :

  1. Une entrée 230V (phase et neutre) pour alimenter le transfo et fournir la source de signal pour les fils pilotes.
  2. Une sortie pilote par zone dont le signal est soit nul (mode confort) soit plein (mode éco) soit en négatif uniquement (mode hors-gel). D'autres modes sont possibles comme indiqué ci-après. Le passage du courant est géré par une combinaison de diodes et d'optocoupleurs ces derniers étant pilotés par les sorties GPIO du PI.

La partie matérielle

La partie hardware se décompose en deux parties majeures :

  • Une machine de type Raspberry PI, Arduino ou tout autre machine fournissant des sorties basses tension pilotables (les GPIO d'un Pi3 dans mon cas)
  • Un circuit imprimé intégrant les composants requis. Alex fourni les plans suivants pour deux zones : Circuit imprimé pour fils pilotes.
  • Un thermomètre (avec hygromètre dans mon cas) qui présente les valeurs en BlueTooth Low Energie (BLE) pour avoir des courbes de températures (sur la journée et en hebdo dans mon implémentation fournie)

La partie logicielle

La partie logicielle est fournie ici sous licence libre permissive WTFPL (Do What the Fuck You Want To Public License) qui correspond quasiment à du domaine public. Bien qu'adepte de la GPL, j'ai fait ce choix car le code est ridiculement simple. Il n'est d'ailleurs même pas paramétrable car tout est en dur (même les numéros de pinoches GPIO concernées). Je ne fournis même pas d'outil de planification car, me concernant, je n'en ai que rarement besoin et lance juste parfois une commande différée en SSH avec un "at".

Il y a trois parties :

  • Les scripts de base permettant d'interroger l'état des pinoches, de le modifier pour faire changer de mode et un pour récupérer la température courante..
  • Un script pour INIT qui restaure les derniers modes actifs et envoie un mail de notification de boot (penser à modifier l'email dans le script et à intégrer ce dernier à votre séquence de boot).
  • Un script PHP pour le frontal web à sécuriser par un simple htaccess. A noter deux .sh sont dans l'espace web car Apache écrit dedans pour l'initialisation au reboot.
  • Un ensemble de tâches planifiées (cron) :
### Prise en compte du mode confortmoins2 
*/5 *   * * *   root    /usr/local/bin/cron_confortmoins2.sh
### Relevé de la température
*/15 * * * *    root    /usr/local/bin/gettemp.sh

Bref, tout ceci est dans l'archive suivant qui couvre deux zones avec la prise en compte des trois principaux modes : Scripts pour Raspbian.

Haut de page