Gestion de lumière salon, solution finale

Ajout le 24 juillet 2020

Bon, j’ai enfin pris la décision pour la gestion des lampes du salon.
Pour rappel, la pièce fait 7m sur 7, j’ai placé un spot led culot GU10 tous les mètres, ça en fait 49, sauf les endroits sans lampe (verrière, ascenseur). Donc pour le moment une possibilité de 48 lampes. Chaque spot est relié à la centrale domotique par un câble souple blanc (pour pouvoir écrire dessus l’adresse de la lampe) 2×0,75mm² (fil utilisé pour les lampes de chevet), qui peut supporter 1600W. Mes spot font au maximum 15W, je ne devrais pas avoir de problème de surchauffe!!

le plafond du salon

Je n’ai du coup pas encore le matériel pour connecter tout ça, j’ai passé la commande il y a trois jours, ça arrivera courant août.

La partie logicielle

Pour l’interface graphique, j’y pense depuis au moins un an, et le temps que je maîtrise un peu node red, que j’arrive à faire quelque chose de propre et convivial, ça donne ça :On a une info bulle en passant sur un bouton.

Je peux cliquer (ou toucher si tactile) sur une lampe, (rond rouge ou vert selon l’état), la colonne (les carrés du haut), les lignes (carrés du côté) et global ON et global OFF, pour tout allumer ou éteindre.

Il faudra rajouter quelques données comme l’heure, la date, la temp de la pièce et extérieure, la conso des lumières et quelques autres détails

Les commandes se font via le serveur mqtt qui reçoit les 48 variables de la forme LxCy lors du clik sur les boutons , j’envoie les 6 ou 8 variables si je choisis une colonne ou une ligne.
Voici un extrait du flow qui gère les actions de base

On voit le switch en bleu clair, puis un changement de la valeur de la variable parce que c’est plus joli sur mqtt d’avoir Allumée/Éteinte à la place de 0/1, puis l’envoi vers mqtt. Puis lecture du le valeur sur MQTT, rechangement de Allumée/Éteinte en 0/1, puis en mauve, action sur module 23017, et mise en forme mail, mais pas pour le moment actif.
Les petits truc gris, c’est les liens depuis les boutons L ou C, pour éviter des fils dans tous les sens et avoir quelque chose de lisible.

Le flow complet est disponible ici

La maquette existante.

Pour le moment, la maquette de la version précédente, tout ça est un peu fouillis, mais fonctionne avec en commande juste les 8 colonnes (de 4 spots car la pièce n’est pas finie), avec 8 gpio du Raspberry Pi qui porte node red.

On y voir les deux modules relais qui dont un pilote les 8 colonnes, l’autre une lampe appelée arbre car c’est un arbre en led, on lui avait fait un bouton pour lui, il s’éteint avec le global off des lampes actuelles, il sera sur un des 48 ports des 23017 (L4C1).
On voit aussi en bas de la photo les connexions des 8 (7 pour le moment) colonnes actives avec un fil pour chaque lampe, dont la phase passe par les relais. Sur la droite les deux alims, une pour le PI, qui n’est plus utilisée car n’allait pas bien, j’ai mis une alim officielle, et l’autre (celle du bas) pour les relais, afin de ne pas surcharger l’alim du pi. Pour le moment il y a 16 relais, j’en rajouterai 48, il n’est pas question de tirer sur le pi. Il y aura un coffret de récup pour emballer tout ça, ça sera propre.

Le choix du matériel

Ça fait plus d’un an que je cherche la meilleure solution pour gérer 48 (ou plus) sorties relais et quelques entrées, j’ai commencé avec arduino (uno puis mega avec 54 E/S), puis RPi, mais seulement 16 E/S, puis j’ai découvert MQTT, les modules 23017 qui donnent 16 E/S via pour I²C, et je peux en mettre 8 sur le même port, soit 128 E/S. c’est l’opulence!
Dans le projet, j’en utilise 3, ce qui me donne 48 possibilités, c’est suffisant pour le moment, je pourrai en rajouter si besoin.
À ça, il fallait ajouter les relais, les 4×8 que j’avais achetés pour les tests ont été utilisés ailleurs, j’ai commandé 4 platines de 16, plus 5 modules 23017 pour ce projet.

platine relais : Je n’arrive pas à mettre l’image de la platine choisie, voici le lien https://fr.aliexpress.com/item/4001171052553.html?spm=a2g0s.9042311.0.0.bee56c37uASr9I .
ensuite les modules 23017 sur bus I²C
Ceux-là sont plus pratique que les verts car l’adressage se fait par des broches 2,54 mm.
Tout ceci sera intégré dans le boîtier, proprement, relié par des fil dupont au pi et pour entre les modules. l’idéal serait de faire un circuit imprimé (PCB) pour relier tout ça avec classe.

Pour s’amuser, on peut rajouter des effets sur les lampes, par exemple un chenillard en lignes, colonne ou par lampe, un parcours, ou toute autre animation, en positif (une lampe allumée) ou en négatif (une lampe éteinte), la seule limite est la vitesse de lecture entre mqtt et node red.
Pour cela il faut faire un programme qui envoie les valeurs LxCy à MQTT. Avec un module de consommation (à coisir et qui servira aussi à indiquer la conso de ces lumières) je peux tester les lampes une par une, bien que je puisse facilement voir si une d’elles est en panne , c’est juste pour le fun.

Je cherche donc la solution de programmation simple, proche du BASIC de ma jeunesse, qui puisse publier sur MQTT et aussi lire la valeur de la conso (pour le phase de test lampes) par exemple. Je suppose que le plus facile pour moi c’est Python, il faut que je me lance et que je trouve comment publier et lire MQTT. J’ajouterai certainement un bouton pour passer en mode animation avec quelques programmes prédéfinis, et le mode test, avec pourquoi pas la durée d’allumage de chaque lampe, la date de dernier allumage/extinction, etc

Coût de l’installation

Pas de coût de main d’oeuvre puisque je fais tout moi même…

Les spots led, brico depot 44€ les 10 complets(4 boites)
Le PI4, 75€
les câbles pour les spots, 10€ les 25m, 5 bobines
les relais 8,16 X3
Les modules 23017 : 0,69 X3
les petites fournitures (vis, colliers, fils Dupont, dominos, broches, etc 5€ bon poids
En récup : boîtier, PC pour MQTT, écran de contrôle, tablette qui sera le panneau de contrôle, poussoirs mosaic pour le secours, gaine et câble 4 paires pour les poussoirs, câbles réseau RJ45, switch, alim 5V 12A pour les relais, disjoncteur différentiel 10A pour protéger l’installation, bornes, càblage, rail…
Total 282,55 soit moins de 8€ par spot.
On peut y ajouter les frais de recherche, les trucs achetés et pas utilisés, mais c’est capitalisé pour la R&D, mettons 200€

À suivre… (25/07/2020)