Domotique DIY #2 – Boite à lettres connectée à moins de 15€

Suite au capteur de distance (niveau de sel dans un adoucisseur d’eau), voici le deuxième article sur ma domotique DIY.

Une boite à lettre connectée (à votre domotique ?) pour moins de 15€ et fonctionnant plusieurs mois sur batterie.

Ce montage tourne depuis plusieurs années chez mes parents, c’est l’occasion de le rafraîchir et le documenter (avant un possible changement vers un Wemos et une pile lithium).

Liste des courses

  • Un Wemos D1 mini ~1€,
  • Une Sonnette « bon marché » (max 10€),
  • Contact au mercure (5x14mm),
  • Un peu de fil électrique,
  • Un câble micro-USB + alimentation.
« Mercury Switch » – Contact au mercure

Montage

Après avoir dé-soudé le haut-parleur, retiré tout le câblage et le boîtier pour les piles, connectez …

  • le du haut-parleur au GDN de la sonnette et au G du Wemos,
  • le VDD au 5V du Wemos,
  • le + du haut-parleur au A0 (ajoutez une résistance si nécessaire afin d’éviter de griller le pin analogique de votre Wemos).


Code source

Première étape terminée. Le coté « recepteur » est terminé.

Liez le maintenant à votre système domotique au travers de MQTT ou une autre méthode votre choix.

Intégration Home Assistant

L’intégration n’est pas parfaite. Je dois encore trouver une solution pour gérer le reset du capteur une fois le courrier récupéré.

- platform: mqtt
    name: "Boite à lettre"
    state_topic: "42/ext-av/sensors/bal"
    value_template: "{{ value_json.bal }}"

Coté boite à lettre

Voici le bouton-poussoir de la sonnette une fois démonté.

Il est nécessaire de repérer le contact du bouton-poussoir et d’y souder la paire de fils du contacteur à mercure.

Le capteur une fois soudé aux fils est placé dans une pièce le maintenant vers le bas à 45° (à adapter selon votre boite à lettres).

Un peu de double face épais et on pose dans la boite.

Une fois, le clapet de la boite basculant, il simule un appui sur le bouton de la sonnette. Le haut-parleur (retiré) « sonne » et le pin analogique du Wemos capte ce pic. Le reste est traité par le petit morceau de code ci-dessus.

Vous pouvez espérer plusieurs mois de fonctionnement avec ce montage et une pile CR2032.

Domotique DIY #1 – Capteur distance MQTT + Home Assistant

Pour monitorer le bon fonctionnement de mon adoucisseur d’eau, j’ai besoin de connaitre la hauteur de sel dans le réservoir. L’appareil fait déjà ce monitoring, mais se contente d’un beep dans la cave que personne ne remarque.

Ce petit « tuto » peut-être appliqué pour n’importe quelle mesure de distance avec un capteur ultrason HC-SR04 (présence d’une voiture dans le garage, …)

Le HC-SR04 est un capteur ultrason permettant une mesure (plus ou moins précise) entre 2 cm et 400 cm (en théorie). J’ai porté mon choix sur ce capteur pour son prix et l’absence de la nécessité d’une mesure précise.

Selon gadgetsthatgo.com, le capteur émet 8 cycles d’un ultrason à 40 kHz depuis sa partie émettrice (Trig). Ce son rebondi sur l’objet présent devant le capteur et revient à ce dernier (Echo). La vitesse du son étant connue et en ignorant sur une si courte distance que la vitesse du son n’est pas une constante. Il suffit de diviser le temps de parcours du son par 58 pour obtenir l’information en centimètres. Je vous invite à lire les sources pour plus d’informations.

Si vous souhaitez installer un serveur (broker) MQTT suivez mon article : Installer un broker MQTT (Mosquitto).

Liste des courses

  • ESP8266 (Wemos D1 Mini dans mon cas) -1€,
  • Capteur ultrason HC SR-04 -1€,
  • Un peu de fil,
  • Câble + Alim USB.

Dans mon cas, j’ai déjà un serveur MQTT fonctionnant déjà en local pour ma domotique.

Montage

Schéma de connexion du capteur au Wemos

HC-SR04 -> Wemos

VCC -> 5V

Trig -> D5

Echo -> D6

GND -> G

Code source

Ligne 81, 82 & 84 : la valeur 80 est la hauteur du réservoir de sel dans mon cas afin de permettre le calcul du pourcentage de sel restant dans la cuve.

Le code est donné en l’état sans garantie et sans support.

Intégration à Home Assistant

Dans mon configuration.yaml j’ajoute simplement :

  - platform: mqtt
    name: "Niveau Sel"
    state_topic: "42/cave/sensors/sel"
    unit_of_measurement: 'Cm'
    value_template: "{{ value_json.niveaucm }}"
  - platform: mqtt
    name: "Niveau Sel"
    state_topic: "42/cave/sensors/sel"
    unit_of_measurement: '%'
    value_template: "{{ value_json.remplissage }}"

Résultat

Pour le moment, le capteur est simplement collé avec un morceau de collant double face épais en attendant une petite boite imprimée en 3D.

Le résultat de la mesure arrive bien dans Home Assistant, ce qui me permet d’avoir une bonne idée du niveau de sel.

Les prochaines étapes :

  • Ajouter une alerte et notification si le niveau devient trop bas pour le fonctionnement de la machine,
  • Passer la sonde en OTA,
  • Ajouter un deep sleep plutôt qu’un delay.

Observations

@andreadonno m’a fait remarqué l’existence du projet ESPHome qui semble faciliter la vie pour l’intégration à Home Assistant. Voir le tweet.

Sources