
Réalisation d’un pluviomètre connecté à home assistant à bas prix. Un projet en place chez moi depuis 2021.
Introduction
Dans l’idée d’optimiser l’arrosage de mon jardin, j’avais en tête de connaître la quantité de pluie tombée sur mon jardin. En effet les relevés météos ne sont pas forcément précis en fonction de votre distance par rapport aux capteurs.
J’ai cherché ce qui se faisait dans le commerce et j’ai trouvé la station Météo Netatmo. Elle semblait parfaite car elle comprend tous les capteurs que l’on pourrait souhaiter. Un capteur de température intérieur, un extérieur, un pluviomètre et même un anémomètre. Mais cette station est particulièrement onéreuse (comptez 200€ pour la station de base, 80€ pour l’extension pluviomètre, 100€ pour le module anémomètre).
J’ai donc décidé de me retourner vers des solutions moins coûteuses, et après plusieurs recherches je suis tombé sur cette solution ingénieuse. Il existe plusieurs versions de ce tuto en ligne, certaines avec soudure, je vous présente ici la solution simple que j’ai mise en place chez moi.
Matériel
- ce modèle de pluviomètre
- un capteur de porte Aqara
Voilà, on a fait le tour de ce qui est nécessaire ;-)
Assemblage
Tout d’abord retirez le couvercle du pluviomètre en pressant les deux ergots à la base.
Ergots à presser pour retirer le couvercle du pluviomètre
Déclipsez ensuite le couvercle contenant le capteur magnétique dans la colonne en plastique et retirez la petite carte.
Vous pouvez couper le fil pour retirer l’ensemble, nous n’allons rien réutiliser de tout cela.
Couvercle à ouvrir
Au tour du capteur de porte.
Désassemblez le capteur de porte en commençant par retirer le couvercle. Il y a une encoche pour pouvoir changer la pile.
Encoche du capteur de porte aqara Cache du capteur
Le capteur à effet Hall du capteur de porte Alignement de la carte avec la bascule
Et enfin afin de maintenir l’ensemble dans la position, je vous conseille de simplement bourrer la cavité avec du carton. L’humidité n’est pas censée entrer dans cette partie. Refermez le couvercle de la colonne, puis remettez le couvercle sur le pluviomètre.
Home Assistant
Si vous utilisez Zigbee2mqtt, je vous conseille de cocher la case “Retain” dans les paramètres du capteur aqara nouvellement ajouté. Profitez-en pour renommer votre capteur, par exemple en “pluviomètre”.
Création des entités virtuelles
Nous allons créer un compteur qui s’incrémentera à chaque fois que la bascule du pluviomètre activera le capteur de porte. Allez dans les paramètres de Home Assistant puis “Appareils et Services” et enfin dans l’onglet “Entrées”.
Créez une entrée de type compteur, et nommez-la par exemple “bascule_pluviometre”.
Création d’un compteur
Création des automatisations
Pour que le compteur s’incrémente, il faut créer une automatisation qui s’activera à chaque bascule du pluviomètre. Dans les paramètres de Home Assistant, allez dans l’onglet “Automatisations et scènes”, puis dans l’onglet “Automatisations” Créez une nouvelle automatisation à partir de zéro. Dans le bloc “Quand”, ajoutez un déclencheur, choisissez “Entité”, puis “État”. Sélectionnez l’entité “pluviomètre” (son nom et type doivent être similaires à binary_sensor.pluviometre). Dans le bloc “Et si”, ne rien ajouter. Dans le bloc “Alors faire”, recherchez “compteur” et sélectionnez “Compteur: Incrémenter”. Cliquez ensuite sur le bouton “Choisir une entité” dans la ligne “Cibles”. Sélectionnez l’entité compteur “bascule_pluviometre” nouvellement créée. Enregistrer l’automatisation sous un nom explicite par exemple “Pluviometre comptage”.
Créez maintenant une deuxième automatisation en suivant la même procédure.
Dans le bloc “Quand”, ajoutez un déclencheur “Heure et lieu”, puis choisissez “Heure”, et enfin réglez sur minuit.
Déclenchement à minuit
Désormais nous avons un compteur de bascule du pluviomètre, qui est incrémenté à chaque bascule, et réinitialisé à minuit. Mais comment convertir ça en quantité de pluie ?
Interprétation des impulsions
Faisons quelques maths (rien de bien méchant je vous rassure). La surface de collecte de notre pluviomètre est de 5 cm par 11 cm, soit une surface totale de :
\[S = 5 \text{ cm} \times 11 \text{ cm} = 55 \text{ cm}^2\]
Relation entre la surface de collecte et le volume d’eau
Lorsqu’il pleut 1 mm, cela signifie que la hauteur d’eau est de 0,1 cm sur toute la surface. Le volume d’eau collecté est donc :
\[V = S \times h = 55 \text{ cm}^2 \times 0,1 \text{ cm} = 5,5 \text{ cm}^3 = 5,5 \text{ mL}\]
Ainsi, 1 mm de pluie correspond à 5,5 mL d’eau dans notre collecteur.
Calibration des impulsions
Si on verse 10 mL d’eau dans le collecteur, on peut constater que le capteur va générer 6 impulsions, soit :
\[\frac{10 \text{ mL}}{6 \text{ impulsions}} = 1,67 \text{ mL/impulsion}\]
Facteurs de conversion
Pour convertir les impulsions en hauteur de pluie, nous calculons :
\[\text{Impulsions par mm} = \frac{5,5 \text{ mL}}{1,67 \text{ mL/impulsion}} = 3,3 \text{ impulsions/mm}\]
Inversement, pour convertir les impulsions en hauteur de pluie :
\[\text{mm par impulsion} = \frac{1}{3,3} = 0,30303 \text{ mm/impulsion}\]
Ce facteur de conversion (0,30303 mm/impulsion) est la valeur que nous utiliserons dans notre code pour transformer les impulsions comptées en mesure de précipitation.
Création du capteur
Je vous propose cette fois de créer une nouvelle entité en utilisant l’intégration Home Assistant template .
Dans votre fichier de configuration yaml de Home Assistant, ajoutez le code suivant :
- platform: template
sensors:
precipitations_aujourdhui:
friendly_name: Pluie aujourd'hui
unit_of_measurement: mm
value_template: >-
{% set count = states('counter.bascule_pluviometre') | int %}
{% set mm_per_pulse = 0.30303 %}
{% set mm = count * mm_per_pulse %}
{{ mm|round(1, 'floor') }}
availability_template: >
{% if is_state("counter.bascule_pluviometre", "unavailable") %}
false
{% else %}
true
{% endif %}
Nous avons désormais une entité s’appelant sensor.precipitations_aujourdhui qui contient la valeur de la quantité de pluie tombée dans la journée.
Evolution de la pluie du jour et réinitialisation à minuit
Affichage hebdomadaire
Je vous propose le code d’une carte pour afficher l’évolution de la quantité de pluie tombée dans la semaine :
type: custom:mini-graph-card
icon: mdi:weather-rainy
aggregate_func: max
hours_to_show: 168
group_by: date
show:
graph: bar
entities:
- entity: sensor.precipitations_aujourdhui
color: aqua

Vue hebdomadaire de la pluie tombée
Attention à la dépendance à la carte mini-graph-card. Pensez à l’ajouter à votre home assistant au préalable.
Conclusion
J’espère que ce tutoriel aura été utile, j’ai essayé de regrouper ici les informations que j’avais pu trouver à l’époque afin de proposer une solution simple et économique. N’hésitez pas à le refaire chez vous, et pensez à poser le pluviomètre à plat vers un coin de ciel bien dégagé.