Automate pour fermer les volets le soir

Ma télécommande centralisé des volets me permet de définir 7 volets/agrégas différents.
Sur chaque volet ou agrégat de volets, je peu définir une heure d'ouverture et de fermeture.
C'est très pratique pour ouvrir ou fermer les volets lorsque l'on est pas présent.
Perso, j'utilise principalement un agrégat de tous mes volets pour ouvrir et fermer à une heure préprogrammée.
Le problème est que le soir, quand les jours rallonges ou diminues, je doit reprogrammer ma télécommande.

Donc cet automate devra fermer les volets à ma place à la tombé du jour !

Description

  • L'automate devra être autonome en énergie.
  • On devra pouvoir programmer via MQTT le seuil de luminosité pour la fermeture.
  • L'automate devra envoyer la luminosité à une demande via MQTT.
  • Accessoirement, un enregistrement sur 24h des luminosités toutes les x min pourra être récupéré via MQTT.

L'idée est de mettre l'automate dans l’encadrement d'une fenêtre, il sera alimenté par des batteries chargées par une cellule solaire.

Matos

MAJ

Suite aux difficultés rencontrées pour utiliser le module Set HDC1080 BMP280 BH1750FVI.
Je me suis rabattu sur un module WITTY (ESP12 avec LDR et LED RGB) plus simple a utiliser.
Donc le matériel devien :

  • ESP WITTY

(au lieu de “Module Set HDC1080 BMP280 BH1750FVI Température et Humidité Lumière Capteur de Pression ESP8266 ESP-14 WIFI Transmission Module Pour LAN/IOT” et la LDR.

  • Une télécommande des volets que l'on pilotera.
  • Une cellule solaire
  • Un régulateur de charge.
  • Un support 2 batteries AA

Pour le boîtier, dessiner un boîtier qui se fixe en haut d'un encadrement de fenêtre pour la cellule solaire. Et peut être un deuxième boîtier dans la maison contenant la télécommande et l'électronique.

Module WITTY

J'ai mis de la doc:
Module WITTY

Ce module peu être remplacer par un ESP-12, une LDR.
Il suffira d'utiliser les mème ports que le WITTY.

Module Set HDC1080 BMP280 BH1750FVI

Température et Humidité Lumière Capteur de Pression ESP8266 ESP-14 WIFI Transmission Module Pour LAN/IOT
Pour voir tous ce que j'ai trouvé sur ce module, aller sur la page :
Module Set HDC1080 BMP280 BH1750FVI

Ce que l'on peu retenir :

  1. Très peu de doc.
  2. On peu l'alimenter en 5V sur VCC.
  3. Les pins pour activer la programmation sur sur le verso.

Shémas

Assez simple, le module a déjà tous les capteurs, il suffit d'un transistor pour piloter la télécommande.
J'ai mis 2 transistors au cas ou l'on voudrait remonter les volets. Mais ce n'est pas nécessaire.
Pour commander un volet, il faut activer les ports PD2 et PD3 qui pilote les transistors
J'ai ajouté 2 leds sur les ports MOS et MIS sans savoir si on peu réellement les piloter.
On retrouve le module qui est détaillé dans un page à part.

Prog

Le programme lit la luminosité, l'envoi en MQTT et réagi suivant un seuil min.
En MQTT on peu aussi définir :

  • Un nouveau seuil de luminosité min.
  • Une nouvelle valeur de tempo entre 2 mesures.
  • Baisser les volets
  • Monter les volets.
  • Renvoyer la valeur du seuil défini.

Le programme est sur github : https://github.com/patbidouille/mod_lum

Le topic du MQTT que j'ai défini est :

mod_lum/conf = Défini le seuil de luminosité bas.
ex : mosquitto_pub -d -t mod_lum/conf -m "175"
mod_lum/cmd  = 
  si mesg == "ON" 	On allume la led
  si mesg == "OFF" 	On éteint la led
mod_lum/haut = si mesg == "ON" on monte les volets
mod_lum/bas = si mesg == "ON" on baisse les volets
mod_lum/cmd = 
  si mesg == "aff" On renvoi la valeur de conf luminosité topic MQTT "mod_lum/conflum"  
  si mesg == "tmp" On renvoi le valeur de conf du temps topic MQTT mod_lum/conflum"  
mod_lum/conftemps Défini la valeur de temps entre 2 mesures.

J'ai ajouté un plublish domoticz/in avec les donnée JSON pour que la centrale récupère les variations de luminosités.
Pour ajouter le capteur à la centrale, il faut créer un “hardware” virtual.
Ensuite Dans la liste sur le matériel virtual on peu créer un “Capteur virtuel”
On lui donne un nom, après cela on le retrouve dans les Dispositifs.
Il faut bien relever le “idx” afin de l'intégrer dans le programme dans la variable idx.

La trame Domoticz sera :
{“idx”:3404,“name”:“Luminosité”,“svalue”:“1024”}
On voit l'idx attribué par Domoticz (3404) et la luminosité renvoyé dans svalue.
là je suis au taquet, ma LDR est saturée, pour changer ça il faut changer la résistance en série avec la LDR.

Domoticz est très prolifique et il faudra peut etre augmenter MQTT_MAX_PACKET_SIZE défini par défaut à 128, dans PubSubClient.h.
https://github.com/knolleary/pubsubclient/blob/master/src/PubSubClient.h#L26

Sur cette page, https://www.sigmdel.ca/michel/ha/domo/domo_03_fr.html, vous trouverez comment configurer Domoticz pour le MQTT.

projets/automate3.txt · Dernière modification : 2024/12/23 14:49 de 127.0.0.1
CC Attribution-Share Alike 4.0 International
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0