Lecture du compteur d'eau de la maison avec ESPHome et Home Assistant

Je voulais écrire ce post, Je cherchais depuis longtemps une bonne solution., stable et fiable… et comme, ESPHome a la réponse. Dans cet article, nous verrons comment lire la consommation d'eau d'un compteur d'eau ordinaire, nous allons, celui que nous avons à la maison; et visualisez-le avec Home Assistant.

Je suis curieux de ce sujet depuis des années., connaître la consommation, dans ce cas de l'eau de la maison, la consommation et l'utilisation que nous faisons de l'eau dans nos maisons. Il est venu en utilisant des solutions avec un appareil photo et avec la reconnaissance de texte OCR, mais… n'était pas une solution valable, il avait ses points faibles et échouait plus qu'un fusil de chasse secondaire. Après quelques mois d'utilisation je peux vous assurer que le moyen le plus fiable est avec un capteur de proximité inductif et un ESP8266 ou ESP32.

Pour que? Eh bien, quelle que soit la raison pour laquelle vous avez, connaître la consommation, essayer de sauvegarder, détecter les fuites, parce qu'il peut…

Bon, le total, qui au final s'avère que nous avons un moyen très simple de lire la lecture d'un compteur, nous pouvons le faire grâce à un capteur de proximité, spécifiquement avec le modèle LJ18A3-8Z/BX NPN (pour un peu plus de 10€). les compteurs d'eau, Ils ont généralement une petite roulette, cette roulette tourne et possède un petit aimant que l'on peut détecter à chaque tour. chaque tour, chaque impulsion est égale 1 litre.

Alors, nous allons connecter le capteur de proximité LJ18A3-8Z/BX à notre carte avec l'ESP, mer ESP8266 ou ESP32, et ensuite on collera le capteur sur ladite roulette du compteur d'eau. évidemment, avant de prendre quoi que ce soit, On va l'essayer au préalable avec un aimant qu'on a dans le frigo 😉 Le câblage est très simple et ce serait comme suit, le fil marron vers le VIM, bleu à GND et noir à un GPIO de données, dans mon cas le D21.

Si nous ne l'avons pas déjà, sur notre carte, nous installerons le firmware ESPHome pour pouvoir l'intégrer facilement à Home Assistant. Le moyen le plus simple d'installer ESPHome est à partir de l'assistant domestique lui-même, ajouter un nouvel appareil (si nécessaire nous ferons un post de ce How To). Et une fois l'appareil créé, nous ajoutons la configuration suivante à la carte:

capteur:
  - Plate-forme: compteur_d'impulsions
    broche: 21
    intervalle de mise à jour : 6s
    Nom: "eau pulsée"
    identifiant: pulse_water

  - Plate-forme: pulse_meter
    broche: 21
    prénom: "Compteur d'impulsions d'eau"
    unité de mesure: "litres/min"
    icône: "mdi:l'eau"
    le total:
      prénom: "Eau totale"
      unité de mesure: "litres"

  - Plate-forme: modèle
    Nom: "L'écoulement de l'eau"
    identifiant: flow_water
    precision_decimals: 1
    unité de mesure: "l/minute"
    icône: "mdi:l'eau"
    lambda: revenir (identifiant(pulse_water).À partir de la deuxième icône, nous pouvons créer nos fichiers avec les phrases que nous voulons qu'il intercepte après avoir écouté le mot-clé * 10);
    intervalle de mise à jour: 6s

Avec cela, nous pourrons connaître le ‘impulsion de l'eau’, la ‘eau totale’ et le ‘L'écoulement de l'eau’. vous prendrez 2 minutes pour ajouter les cartes dans Home Assistant, Je vous laisse leurs codes au cas où ça vous aiderait:

type: Douane:carte-apexcharts
entête:
  montrer: vrai
  Titre: consommation d'eau - Dernière heure
  show_states: faux
série:
  - entité: capteur.total_agua
    Nom: Luxes
    taper: Région
    opacité: 0.7
    Couleur: bleu
    par groupe:
      durée: 1m
      fonction: moyenne
graph_span: 1h
intervalle de mise à jour: 5minutes

Et puis dans Home Assistant, si nous voulons stocker les données pour les statistiques et connaître la consommation d'eau par heure, pendant des jours, mensuel ou annuel, nous devrions créer les Utility Meters suivants directement dans le fichier de configuration de Home Assistant (configuration.yaml):

Utility_meter:
  consommation_heure_d'eau:
    prénom: "Consommation d'eau - Temps"
    la source: capteur.total_agua
    cycle: toutes les heures
  consommation_quotidienne_d'eau:
    prénom: "Consommation d'eau - tous les jours"
    la source: capteur.total_agua
    cycle: du quotidien
  consommation_d'eau_mensuelle:
    prénom: "Consommation d'eau - mensuel"
    la source: capteur.total_agua
    cycle: mensuel
  consommation_annuelle_d'eau:
    prénom: "Consommation d'eau - Annuel"
    la source: capteur.total_agua
    cycle: annuel

Et les cartes pour visualiser lesdites données, je te laisse un exemple:

type: Douane:carte-apexcharts
entête:
  montrer: vrai
  Titre: consommation d'eau - Le mois dernier
  show_states: faux
série:
  - entité: sensor.daily_water_consumption
    patate douce: Litros
    taper: colonne
    opacité: 0.7
    Couleur: bleu
    par groupe:
      durée: 1ré
      fonction: maximum
graph_span: 30ré
intervalle de mise à jour: 5moi

J'espère que cela peut être utile, D'ici la fin de l'année, j'ai l'intention de faire d'autres articles qui prennent des lectures non seulement du compteur d'eau à la maison, autrement, du coût de l'électricité, du gaz… Comme toujours, je te souhaite bonne chance et beaucoup de succès! Étreintes,

Hector Herrero