Archives

Tous les articles pour décembre, 2016

Bonsoir,

Depuis mon récent déménagement, j’ai le plaisir de vivre dans une (très ?) grande maison totalement chauffée à l’électrique.

L’hiver approche et j’ai peur des factures qu’EDF vas m’envoyer. Je vais donc chercher à gérer au plus juste mes radiateurs. Pour cela, j’utilise bien sur le fil pilote même s’il faut que je tire tous les câbles vers le tableau électrique.
En effet, je considère (et mon porte monnaie est d’accord) que quelque chose d’aussi basique doit être intégré au réseau électrique et ne pas passer par les ondes. Celles-ci sont réservées aux équipements nomade.

Pourquoi mon porte monnaie est il d’accord ? Tous simplement par ce qu’il serait très facile de tout gérer avec des modules z-wave à 50 € pièce + la clé (30€) + la centrale domotique.
J’ai 14 radiateurs, avec une tel solution j’aurais intérêt à en faire des économies pour amortir l’ensemble…

En plus d’être fainéant, je suis radin. J’ai donc choisi de tirer des câbles à travers toute la maison (seulement 15€ de câble en tout), et de les gérer avec des circuits dont j’ai vais vous parler ce soir.
Vous vous posez la question ? Alors, OUI, tirer des câbles vers 14 radiateurs c’est chiant ! Merci Christophe et Mme Jilks pour le coup de main 🙂

Pour ceux qui connaissent ma maison et qui se sont amusé à compter, il en manque 2 : les radiateurs des salles de bain ne possèdent pas de fil pilote, je prévois donc de les commander directement depuis le tableau électrique (ON / OFF).

Quel système choisir ? Un projet que je suivais depuis bien longtemps : Jeedom, mais que je n’avais pas encore eu l’occasion d’essayer.

Leurs idées correspondent aux miennes :

  • Pas de système sur serveur externe
  • Un système très évolutif, on commence simple et on étoffe éventuellement
  • Une base gratuite, des options payantes
  • Un forum réactif.

Côté matériel, j’ai choisi une base qui pourrait évoluer ou servir à autre chose selon les besoins : Un Raspberry PI 3.
J’ai bien un NAS Synology qui aurait pus faire tourner Jeedom, mais je considère que ce n’est pas son rôle. De plus, mon idée de départ était d’intégrer le raspberry et le circuit d’interface dans le tableau électrique.

Bon, J’ai un Raspberry, Jeedom est installé… On se doute bien que je ne vais pas brancher les fils pilote directement dessus…

Je vais utiliser le port I²C pour commander un MCP23017, qui ira lui même commander des optocoupleurs. Il faut 2 optocoupleurs par fil pilote, chacun gérant l’alternance positive ou l’alternance négative. Cela grâce à 2 diodes montées dans un sens opposé :

Je n’ai représenté qu’un seul couple d’optocoupleurs mais un MCP23017 permet de gérer 8 fils pilotes, si ce n’est pas assez, on ajoute un MCP23017 supplémentaire. On peut en mettre ainsi jusqu’à 8 sur le bus I²C et donc gérer 64 radiateurs pour un coût ridicule.

Juste pour rire : La broche /reset à Vcc est obligatoire !! J’ai perdu quelques heures avant de le comprendre 🙁

Notez bien que ce schéma n’est valable que pour gérer un fil pilote 4 ordres, pas un 6 ordres.

Et en vrai, ça donne quoi ?

Heu… Je veux bien vous montrer le proto, mais on se moque pas, ok ?

Le disjoncteur de gauche (16A) protège une prise classique, sur laquelle est branché l’alim du Raspberry, ainsi que le boitier CPL. Le disjoncteur de droite (2A) protège la phase qui vas sur les optocoupleurs puis vers les fils pilote.

Les bornes grises sont les arrivées des chambres de l’étage.

On peut voir que j’avais câblé 2 fils pilotes sur mon proto (4 optocoupleurs). Notre chambre et celle de petit bout N°1 afin de tester le système sur quelques semaines.

Bon, n’importe qui ayant envie de faire ça trouve ces schémas / idées sur internet alors pourquoi écrire un article ?

Tout simplement parce que je me suis retrouvé comme un couillon devant Jeedom à ne pas savoir comment gérer mes radiateurs, quoi faire, comment démarrer … Et là, je n’ai rien trouvé sur Internet pour m’aider.
J’espère que le prochain qui pose la question à Google aura au moins ma réponse pour essayer de sortir du brouillard 🙂

Il faut commencer par créer des objets pour représenter sa maison. Un objet maison puis objet Radiateur, qui est dans la maison.

Là, je simplifie. En vrai on vas également créer chaque niveau (rez de chaussé, étage) et chaque pièce de la maison.

Ensuite, on vas installer le plugin “Virtuel”, il va nous permettre de créer des curseurs virtuel ayant 4 positions (oui, comme le nombre d’ordres du fil pilote).

On créer l’élément virtuel “Mode Radiateur R4”, pour cet exemple.

Il contient une commande de type “Curseur”, pouvant varier de 0 à 3 (donc 4 positions)

Notez bien le nom de la valeur “Mode chauffage”, il resservira.

A ce niveau, si vous retournez dans le dashboard Jeedom, vous avez un curseur, et l’affichage de sa valeurs.

On vas maintenant installer et utiliser le plugin “Widget”, et plus particulièrement le widget “Radiateur 6 ordres” :

Il est prévu pour fonctionner avec des valeurs comprises entre 10 et 60, l’une de ses 6 images en fonction de la valeur de #state#.

On va le modifier de 2 manières :

  • Il ne vas gérer que 4 images, pour les 4 ordres
  • Les valeurs de #state# seront 0, 1, 2 ou 3 pour correspondre au curseur définie juste au dessus

On clique donc sur le bouton dupliquer, et on lui donne un nouveau nom : “Radiateur 4 ordres”.

Le code est modifié comme cela :

Suppression de 2 lignes (confort-1 et confort-2) et modification des conditions des “if” et “else if”. Vous n’y connaissez rien en code ? Pas grave, y a juste à copier 🙂 .

Enfin, on vas lier ce widget au radiateur. Pour cela, on clique sur le bouton “appliquer sur des commandes”.

Et on coche le ou les radiateurs.

Pour mon proto, c’était R3 et R4.

Retour dans le Dashboard, et test du curseur :

Bon, le proto électronique fonctionne, Jeedom fonctionne et affiche des modes de chauffage.

Il faut maintenant faire communiquer le logiciel et le matériel. Pour cela, je vous propose d’installer le plugin “Jeedouino”. Il est gratuit, il fonctionne bien et le développeur est très réactif sur le forum en cas de besoin.

En plus, ce plugin permet de faire d’autres truc cool dont on reparlera une prochaine fois.

Avant que j’oublie : Sur votre raspberry, il faut activer l’I²C, internet regorge d’infos a ce sujet.

On créer un équipement, j’ai choisi de le nommer “MCP23017”, bien sûr vous mettez le nom qui vous plait.

Modèle de la carte : blabla / MCP23017

Adresse I²C : Sur le schéma au dessus, c’est 0x00, ne tenez pas compte de la capture qui était sur un autre montage.

Adresse IP de la carte, c’est celle du raspberry, le port doit juste être libre.

On sauvegarde, et on vas dans Pins/GPIO, il faut tout passer à “Sortie mise a low (High généré aussi)”, ainsi les 16 sorties du MCP23017 seront utilisable.

Après cette génération, on sauvegarde et on vas dans “Commandes”:

Avec les boutons “tester”, il est maintenant possible de commander les sorties du MCP23017 depuis Jeedom, on s’approche de la fin 🙂

Pour terminer, on créer un scénario qui vas faire le lien entre le mode souhaité pour un radiateur, et les optocoupleurs à activer pour l’obtenir.

Je suis en mode avancé, c’est un scénario provoqué, par le changement du “Mode chauffage” du curseur virtuel correspondant au radiateur R4

On retrouve la même logique que dans le code du Widget :

Si mode chauffage < 1, alors c’est 0 et je demande l’arrêt, pour cela je dois activer l’optocoupleur de la broche 6 et désactiver celui de la broche 7, avec les diodes correspondantes, j’obtiens des demi alternance positive : l’arrêt 🙂

Sinon, si mode chauffage < 2 (et comme il n’est pas inférieur a 1), c’est 1 donc je demande le hors gel. Pour cela, facile, il faut les demi alternances négatives, c’est l’inverse de l’arrêt : broche 6 a l’état haut, broche 7 a l’état bas, c’est l’autre diode qui est utilisée.

Sinon, si mode chauffage < 3 (et comme il n’est pas inférieur à 2), c’est 2 donc je demande le mode éco. Pour cela, il faut envoyer le 230V au complet, on met les 2 broches a l’état bas, pour activer les 2 optocoupleurs et utiliser les 2 diodes.

Sinon, bah c’est 3, mode confort (normal), on coupe le fil pilote en mettant les 2 broches a l’état haut pour désactiver les deux optocoupleurs.

Alors, oui, c’est un peu longuet a coder, mais ça fonctionne parfaitement et rapidement.

Bon, c’est pas mal ça : on clique et le radiateur passe dans le mode désiré !

Oui, mais… on vas pas passer son temps connecté a l’interface de Jeedom pour faire basculer les radiateurs d’un mode a l’autre.

Pour cela, la meilleur méthode que j’ai trouvé est d’utiliser des scénarios programmés.
Notre chambre par exemple : le radiateur est éteint dans la journée, passe en mode confort à 20h00 (on se couche ainsi dans une chambre a 18°), passe en mode éco à 0h00, en mode confort à 5h00 et s’éteint à 7h30. tout cela, la semaine. En weekend il s’éteint à 9h00.
Le scénario qui éteint le radiateur à 7h00 est le suivant :

On peut voir que c’est un scénario programmé, dont la commande cron est “30 7 * * 1-5”, ce qui signifie : “à 7h30 de toutes les dates de tous les mois pour les jours du lundi au vendredi”.

Et pour l’extinction du weekend : “00 9 * * 0,6”, je vous laisse décoder 🙂

Youhou !! j’ai atteint mon objectif de base, et ça marche très bien !!

L’une des principales évolutions logiciel sera l’utilisation d’un planning. Mais je ne veux pas planifier les radiateurs, je veux renseigner les horaires de travail (variable) de Mme Jilks, la présence ou non de petit bout n°1 le mercredi après midi (sieste et donc chauffage ou non), ainsi que des modes “globale”, tel que : “On est partis en weekend”, “y a des invités dans les chambres d’ami”, etc … et que la gestion se fasse en fonction de tout cela. Plus tard, pour l’instant j’ai d’autres projets.

On parle coût ?

Raspberry PI 3 : 35,70 €
Boitier, alim : 14,99 €
Carte micro SD : 6,49 €

Soit une centrale domotique à 57,18 €, qui pourra servir a autre chose si besoin.

MCP23017 : 1,25 € pièce avec support et condo.
78L33ACZ : 0,675 €
MOC3043 : 0,70 € pièce (2 par fil pilote)
Résistance 470 Ohm : 0,05 € pièce (2 par fil pilote)
Diode 1N4007 : 0,028 € pièce (2 par fil pilote)

Soit 14,37€ pour exploiter les 16 sorties du MCP23017, et donc gérer 8 fils pilotes.

Jeedom : Gratuit
Plugin Virtuel : Gratuit
Plugin Widget : Gratuit
Plugin Jeedouino : Gratuit

Bien sur, avec tout ça, on ne fait qu’un proto, pas un circuit de prod qu’on met en place dans l’armoire.
Nous reparlerons de cela une prochaine fois, avec un circuit réellement exploitable “en vrai” 🙂 Mais il suffit juste de faire cela proprement, le schéma reste le même.

Bonne soirée,

Jilks