Occasionnellement il est pratique de contrôler des dispositifs avec un téléphone intelligent ou une tablette, voir un ordinateur de bureau. Mais, très rapidement, on se lasse de devoir utiliser un appareil pour allumer une lampe. Et puis, quoi faire avec les visiteurs : leur donner un cours sur l'utilisation d'un logiciel de domotique ?
Ce billet est consacré au contrôle manuel de deux lampes de chevets, chacune étant reliée à un commutateur sans fil Sonoff de ITEAD. Le principe est d'intérêt général, les détails de fabrication ne seront pas nécessairement utilisables partout.
Table des matières
- Contrôle manuel des commutateurs Sonoff
- Un exemple
- Détails de fabrication
- Découper dans le couvert de plastique noir un rectangle qui correspond à l'espace vide à l'intérieur de la prise téléphonique. Il fallait enlevé deux coins pour que les pilastres du couvert de la prise téléphonique puissent toujours s'appuyer contre le socle.
- Mesurer sur le couvercle de la prise téléphonique où percer les trous pour les capuchons des boutons-poussoirs. Il faut faire attention car la prise RJ11 occupe le tiers de l'espace et les boutons ne sont donc pas centrés dans l'axe le plus long du couvercle.
- Percer les trous. J'ai commencé avec une petite mèches avant de faire des trous de la taille appropriée.
- Percer deux trous d'environ 6 mm de diamètre dans le morceau de plastique noir à peu près où le centre de chaque bouton devrait se situer.
- Inverser le couvercle de la prise téléphonique, placer les boutons-poussoirs avec leur capuchons dans les trous et placer le plastique noir par dessus.
- Coller les boutons au plastique noir en remplissant les trous avec de la colle chaude d'un pistolet à colle.
- Attendre un peu, puis ajouter un peu de colle de l'autre côté pour bien fixer les boutons au plastique.
- Fixer un morceau de plastique noir dans l'ouverture pour le fils de raccord téléphonique du couvert de la prise avec de la colle chaude.
- Modification du micrologiciel des Sonoff
- Avertissement
- Projet
Il y a le bouton-poussoir dont le bout de la tige apparaît sur la face du Sonoff. Il est minuscule, presque invisible, et pas très commode. Sur certains commutateurs, je dois utiliser un ongle pour activer le bouton, car il ne dépasse pas suffisamment. À cet égard, les modules X10 étaient intéressants, car on pouvait toujours allumer ou fermer une lampe avec son interrupteur normal. Mentionnons aussi que le bouton-poussoir du Sonoff sert à d'autres fins dans le logiciel de Theo Arends. Par inadvertance, on peut facilement changer le mode d'opération du commutateur (voir Button usage). Conséquemment, il faut souvent prévoir une autre façon d'allumer un commutateur Sonoff de façon manuelle.
Heureusement, une broche, GPIO14, du ESP8266 est disponible sur le connecteur qu'on utilise pour le programmer et le logiciel de Theo Arends peut l'exploiter. Il est donc relativement facile d'ajouter un interrupteur pour contrôler manuellement un Sonoff d'une façon plus pratique. Le graphique ci-dessous montre où brancher un interrupteur externe sur le Sonoff:
TASMOTA prend en charge un bouton-poussoir à contact momentané aussi bien qu'un interrupteur classique.
Pour les lampes de chevet de la chambre à coucher, j'ai disposé deux boîtiers de chaque côté du lit, chacun fixé à l'arrière d'une commode faisant office de table de chevet. Chaque boîtier contient deux boutons-poussoirs qui permettent de contrôler chacune des deux lampes. Cet arrangement simple et efficace a obtenu une meilleure cote FAF, (WAF) qu'avait le dispositif X10 plus ou moins fiable qu'il remplace. La photographie, plus grande que nature, montre que le boîtier est en fait une prise téléphonique avec fixation de surface que j'ai modifié.
En fait, j'ai utilisé quatre de ces prises, deux pour servir de boîtiers comme illustré ci-dessus et deux autres fixées aux commutateurs Sonoff. Un câble de téléphone standard à quatre fils avec connecteurs RJ11 aux extrémités relie chaque boîtier à une autre prise collée au commutateur Sonoff. Ces deux prises téléphoniques collées sont reliées par un câble CAT-5 d'un peu plus de 2 mètres qui est dissimulé sous le lit et les commodes. J'ai utilisé ce type de câble simplement parce que je n'avais pas de câble téléphonique à quatre conducteurs de longueur convenable.
B4 et B5 sont les quatrième et cinquième broches du connecteur du Sonoff (voir le graphique précédent). On peut voir que les mises à terre (0V, B4) des Sonoff sont connectées ensemble avec les quatre boutons-poussoirs. Puis chaque B5, relié à la broche IO libre du ESP8266, est connecté en parallèle à l'un des boutons-poussoirs de chacun des deux boîtiers.
Les prises téléphoniques (note), sont de taille inférieure à
toute les prises du genre que j'avais vu auparavant. Cette petite taille
s'est avéré un atout. La photographie suivante montre les principales pièces
utilisées pour fabriquer un boîtier. En plus de la prise téléphonique qu'on
aperçoit ouverte, il y a deux boutons-poussoirs de 12×12mm avec capuchons
(chercher « tactile push button switch 12mm » dans AliExpress ou
EBay).
Ces articles sont dans le couvercle d'un gros bocal de plastique pour noix
mélangées qui est la source des deux pièces de plastique noir qu'on peut voir
sur la photographie ci-dessous
Avec un morceau de plastique noir taillé à la main et arrondi avec du papier sablé, j'ai obturer l'ouverture pour le fils de raccord téléphonique qui n'est pas utilisée. Dans la photographie, ce bouche trou n'a pas encore été taillé à la bonne longueur. Les broches des boutons-poussoirs ont été dépliées pour réduire la hauteur. J'ai même sablé un peu le fond des boutons qui ont été collé sur un morceau de plastique. Voici comment procéder.
Il reste à faire les connexions électriques.
Un petit fil électrique (gris foncé ici qui représente le conducteur de mise
à terre) est soudé à l'une des broches de chacun des deux boutons-poussoirs
puis attaché à un des terminaux du bloc de connexions de la prise. L'autre
connexion de chacun des bouton-poussoir est soudé à un fil (bleu et blanc
ici) qui est attaché à un autre terminal.
Il suffit de remettre le couvercle et d'appuyer sur les boutons-pressoirs à quelques reprises pour que le tout se place comme il faut.
Sur la photo suivant on peut voir la dernière étape. Les bloc de
connexions des deux autres prises téléphoniques sont déjà reliée avec un
cable qui est fixé avec de la colle chaude. Le connecteur RJ11 a été enlevé
de la prise pour plus facilement coller cette dernière sur le côté du
boîtier du Sonoff. On note que ce dernier est percé pour laisser passer les
deux fils reliés aux broches 4 et 5 du connecteur de programmation.
Il suffira de relier ces deux fils, le connecteur RJ11 et le câble CAT5 en utilisant le bloc de connexions de la prise téléphonique.
Il aurait été préférable d'activer l'utilisation de la broche GPIO gratuite dans le microprogramme Theo Arends dès la première utilisation de ce logiciel. N'ayant pas fait cela, il fallait modifier le micrologiciel des deux commutateur Sonoff de la chambre à coucher.
Dans la dernière version (3.2.13) du croquis sonoff.ino
, il
faut supprimer le '//' au début de la ligne 157 de user_config.h
pour activer le conditionnel USE_WALL_SWITCH
. Bien sûr, cela se
fait dans l'EDI Arduino. En même, la valeur de SWITCH_MODE
dans
la ligne précédente devrait être changé en PUSHBUTTON
.
Puisque je prévoyais faire des changements similaires dans d'autres
commutateurs Sonoff, j'ai également modifié l'URL pour la mise à jour sans fil
(OTA) à la ligne 42. Je sauvegarderai le fichier d'image binaire de ce
micrologiciel modifié sous le nom sonoff.sw.ino.bin
dans le
répertoire du serveur HTTP.
À la fin, voici les modifications apportées à user_config.h
.
Une fois que le fichier binaire modifié a été enregistré, je pouvais le téléverser sur les deux interrupteurs Sonoff avec un câble USB-TTL. Au lieu de cela, j'ai utilisé la mise à jour sans file comme décrit dans le billet précédent Mise à jour sans fil d'un Sonoff.
Quel déception lors des premiers essais! Alors que cela fonctionnait très bien sur l'établi, les lumières de la chambre s'allumaient ou se fermaient de façon capricieuse. On aurait dit que les inputs des ESP8266 flottaient plutôt qu'être tirée vers Vcc par des résistances internes. J'ai rajouter des résistances de 10k ohms entre la broche Vcc (B1) et la broche du GPIO14 (B5). Malheureusement, il n'y a eu aucune amélioration.
Après un peu de recul, la solution est devenu évidente. J'avais donné à chaque nouveaux Sonoff le même numéro d'identité qu'avait le module X10 qu'il remplaçait. J'espérait ainsi ne pas avoir à refaire les plannings et quelques scripts dans Domoticz. Trop paresseux, je n'avais pas modifiés les scripts qui permettaient à Mochad/Heyu de contrôler les lampes. Il s'en suivait une interaction entre ces vieux scripts et les interrupteurs manuels qui donnait un résultat final qui me semblait aléatoire.
La morale est qu'il est bien mieux de créer un nouveau dispositif virtuel dans un logiciel de domotique plutôt qu'essayer de réutiliser l'ancien quand on remplace un dispositif physique avec un autre de nature différente.
Le prochain billet montrera comment j'utilise un contrôleur sans fil X10, le Palm Pad, pour allumer ou fermer les lampes du salon reliées au système de domotique. C'est une solution temporaire qui remplace un vieux contrôleur programmable plug'n power de Radio Shack (l'ancêtre du MT14A de X10).
note
Les prises téléphoniques achetées en avril dans un Great Canadian Dollar Store étaient bon marché à 1,25$ CDN. Dernièrement j'ai voulu m'en procurer d'autres dans deux magasins de cette chaîne qui sont à proximité. Le stock avait été renouvelé, mais il n'y avait plus de prises téléphoniques. C'est malheureux, car je n'en trouve pas de semblable sur eBay ou Aliexpress. Ce qu'on trouve est de taille «normale» et coûte environ 4,00$ US.