Compteurs d'eau et Domotique: Comment libérer

L'illusion du smart meter : pourquoi les API publiques se font attendre
Points clés à retenir
- L'accès programmatique direct aux données d'eau reste souvent verrouillé par les distributeurs.
- L'extraction manuelle via portail devient chronophage au-delà d'un certain nombre d'équipements ou de fréquences d'export.
- Une passerelle MQTT locale permet de numériser un compteur d'eau mécanique classique.
- Structurer les flux sous forme de requêtes JSON garantit une analyse précise par les systèmes domotiques.
Quelles sont les limites des portails institutionnels ?
L'exemple des infrastructures wallonnes illustre parfaitement cette dynamique de cloisonnement. Le portail client officiel de la SWDE (Société wallonne des eaux) donne accès à l'historique de consommation après connexion, mais l'opérateur ne documente aucune API publique d'automatisation. Les données de consommation restent ainsi prisonnières d'une interface graphique conçue pour la consultation humaine, interdisant toute interaction directe avec un système domotique local ou un tableau de bord de gestion énergétique unifié.
Des initiatives de modernisation des compteurs d'eau existent, mais elles s'inscrivent dans des cadres strictement délimités. La solution easyCONSO de ce distributeur, distincte du portail client général, promeut le relevé automatique des index et le suivi de consommation en temps réel pour les compteurs intelligents, dans le cadre d'un arrangement de service spécifique. Cette approche confirme que la télémesure existe techniquement en amont chez les distributeurs d'eau. Cependant, elle est reconditionnée sous forme de service commercial plutôt que d'être exposée sous forme de flux de données ouvert à l'abonné.
Pourquoi une infrastructure standardisée est-elle si complexe à mettre en œuvre ?
Si les distributeurs d'eau tardent à proposer des points de terminaison logiciels ouverts, c'est en grande partie en raison des défis complexes liés à la sécurisation des flux à grande échelle. L'implémentation d'une architecture centralisée et sécurisée dépasse de loin la simple mise à disposition d'un serveur.
Face à l'absence de ces interfaces standardisées, les utilisateurs et les gestionnaires de parc immobilier doivent arbitrer entre plusieurs méthodes de contournement. Dès lors que le suivi requiert des exports fréquents ou concerne de multiples équipements, le téléchargement et la consolidation manuels des données (portail web, export CSV) deviennent un investissement en temps significatif. Cette pénibilité justifie le passage inévitable à des architectures hybrides, basées sur des surcouches matérielles ou des points d'accès locaux.
| méthode d'extraction | niveau de complexité technique | évolutivité du système | capacité de suivi en temps réel |
|---|---|---|---|
| Téléchargement manuel (export CSV depuis portail web) | Faible (aucune programmation requise, interface graphique) | Faible (rapidement chronophage avec la multiplication des compteurs ou des exports) | Inexistante (données historiques traitées a posteriori) |
| Passerelle matérielle locale (capteur d'impulsion MQTT) | Moyenne (installation physique et configuration des requêtes) | Élevée (traitement local totalement indépendant du cloud) | Remontée instantanée au niveau du contrôleur |
| Point d'accès logiciel direct (requête GET vers API JSON) | Élevée (structuration des données et intégration logicielle) | Élevée (standardisation du format d'échange réseau) | Dépendante de la fréquence d'interrogation configurée |
L'approche matérielle : comment connecter un compteur analogique via MQTT ?
La première barrière à l'extraction des données n'est souvent pas logicielle, mais purement physique. Le déploiement des compteurs numériques communicants s'opère à des rythmes très inégaux selon les régions et les quartiers.
Comment adapter les installations existantes ?
En Belgique, plusieurs types de compteurs d'eau coexistent et le pays progresse lentement vers la numérisation : l'auteur du blog technique Carroarmato0 (situé en Belgique) utilise encore un compteur analogique Elster Kent V100. Ces dispositifs classiques mesurent le volume transité via une turbine entraînant des cadrans mécaniques. L'absence de puce de communication intégrée oblige donc l'utilisateur à superposer une technologie d'acquisition tierce, capable de traduire un mouvement physique en un signal numérique interprétable par un réseau informatique domestique.
Un produit prêt à l'emploi (comme celui proposé par SmartGateways.nl) utilise un « reed pulse » pour mesurer le débit d'eau puis publie la mesure sur un bus MQTT sans fil, ou via une API REST. Concrètement, le compteur analogique est souvent pré-équipé d'un petit aimant rotatif sur l'un de ses cadrans (généralement celui des litres). Le capteur à lame souple (reed switch) est fixé sur la vitre du compteur. À chaque rotation, le champ magnétique ferme brièvement le circuit du capteur, générant une impulsion électrique. Le microcontrôleur embarqué dans le produit comptabilise ces impulsions, les convertit en volume d'eau, et les diffuse sur le réseau local.
Comment configurer les protocoles d'échange ?
L'intégration de ce type de matériel dans un écosystème domotique centralisé requiert cependant une manipulation précise des protocoles de communication IoT (Internet of Things). MQTT s'avère particulièrement adapté pour ce type d'application locale, grâce à sa légèreté et à sa réactivité architecturale basée sur la publication et la souscription de messages.
Cependant, la standardisation matérielle ne garantit pas toujours une intégration logicielle immédiate. Un retour d'expérience note que ce matériel n'utilise pas (encore) le topic d'autodécouverte de Home Assistant, ce qui impose de décrire manuellement les topics et les valeurs dans la configuration. L'utilisateur doit éditer les fichiers de configuration de son serveur domotique pour indiquer précisément sous quel nom de sujet (topic MQTT) le capteur diffuse ses impulsions, et comment formater la charge utile (payload) reçue pour que l'interface graphique puisse afficher une valeur numérique lisible.
L'approche logicielle : structurer un point d'accès JSON local
Une fois la barrière physique franchie et la donnée numérisée, l'enjeu se déplace vers son ingestion structurée. Un contrôleur domotique ne peut analyser des informations brutes sans connaître précisément leur typage, leur unité de mesure et leur comportement temporel. L'architecture logicielle doit donc formater ces flux selon des normes strictes, souvent basées sur le format JSON (JavaScript Object Notation).
Comment formater la requête pour l'ingestion ?
La création d'une API locale, même rudimentaire, exige le respect des schémas de données attendus par les agrégateurs. Dans le cas d'une intégration via une plateforme logicielle spécialisée comme Gladys Assistant, la syntaxe de la réponse réseau est déterminante. Le point d'accès JSON autorisé doit répondre à une requête GET par un objet JSON, directement ou encapsulé dans une propriété « data », et inclure total_m3 et/ou period_m3 ; le champ period_days est optionnel dans le schéma JSON, mais indispensable si l'on souhaite que la plateforme calcule une moyenne journalière (le calcul est simplement omis en son absence). Les variantes camelCase (totalM3, periodM3, periodDays) ainsi que index_m3 / consumption_m3 sont également acceptées.
Cette structuration permet au serveur domotique de lancer une requête HTTP basique (GET) vers l'adresse IP locale du capteur et de recevoir une chaîne de caractères parfaitement qualifiée. La distinction entre le volume total absolu (`total_m3`) et le volume de la période en cours (`period_m3`) est capitale pour prévenir les erreurs de calcul en cas de redémarrage matériel du capteur ou de réinitialisation de sa mémoire interne. La variable `period_days` introduit une dimension temporelle essentielle, fournissant au moteur d'analyse le dénominateur exact pour établir des statistiques de consommation normalisées sur 24 heures.
Notons que la plateforme ne reçoit jamais le mot de passe de l'utilisateur et ne pilote jamais le portail web du distributeur : elle repose soit sur des relevés manuels, soit sur un point d'accès JSON explicitement autorisé (easyCONSO, export approuvé ou gateway personnel).
Pourquoi le typage des capteurs d'énergie est-il important ?
Les tableaux de bord modernes appliquent des traitements analytiques complexes (comparaisons historiques, estimations de coûts) qui requièrent une catégorisation stricte des flux de données entrants. Un capteur d'eau ne se comporte pas comme une sonde de température dont la valeur fluctue à la hausse comme à la baisse ; il s'agit d'un index cumulatif perpétuel.
La déclaration logicielle de ce comportement est une étape incontournable de la configuration. Pour que le capteur d'eau soit reconnu par le tableau de bord Énergie du système (comme détaillé dans la documentation), il faut lui ajouter une entité en m³ déclarée avec state_class: total_increasing. Cette classe d'état spécifique indique au moteur de base de données que la valeur numérique reçue ne fera qu'augmenter au fil du temps. Si l'entité transmet soudainement une valeur inférieure à la précédente (par exemple lors d'une coupure de courant affectant la mémoire du microcontrôleur), le système comprendra qu'il s'agit d'un cycle de redémarrage et ignorera le delta négatif. Bien que cela puisse créer une discontinuité sur l'affichage en temps réel jusqu'à ce que le nouvel index dépasse l'ancien, le moteur gérera correctement ce cas pour préserver l'intégrité des statistiques cumulées à long terme.
Fréquences et alertes : quel intervalle de relevé choisir ?
L'effort d'intégration technique consenti pour récupérer les index de consommation ne trouve sa justification que dans l'exploitation analytique de ces données. Toutefois, la gestion des flux liés à l'eau diffère fondamentalement de celle de l'électricité. Les dynamiques de l'hydraulique résidentielle imposent des choix d'architecture réseau spécifiques, notamment en ce qui concerne la fréquence d'échantillonnage.
Comment optimiser les cycles d'interrogation ?
Interroger un capteur en continu surcharge inutilement le réseau local et les bases de données, sans pour autant apporter d'informations pertinentes. La consommation d'eau s'opère par événements sporadiques (douche, lave-linge, arrosage) séparés par de longues périodes d'inactivité totale. Selon la documentation de la plateforme, le système interroge le compteur d'eau chaque minute, et l'intégration lit la source à l'intervalle configuré : une heure par défaut, réglable de 5 minutes à 24 heures. Les valeurs inchangées ne sont pas republiées, sauf toutes les 6 heures pour que le compteur reste daté récemment.
Ce découplage entre le rythme interne du logiciel central (qui vérifie ses tâches toutes les minutes) et la fréquence réelle d'acquisition des données (le polling) permet d'ajuster finement la charge système. Un intervalle d'une heure s'avère amplement suffisant pour établir un profil de consommation quotidien précis et identifier les tendances comportementales du foyer, tout en préservant l'espace de stockage sur le serveur.
Comment automatiser la détection proactive des anomalies ?
L'application la plus critique du suivi de l'eau reste la prévention des dégâts des eaux et des surcoûts liés aux fuites non détectées. Les systèmes domotiques permettent d'automatiser cette surveillance en appliquant des règles logiques sur les séries temporelles récupérées via JSON ou MQTT.
L'outil propose deux déclencheurs : « nouvelle lecture du compteur d'eau » (l'index a changé depuis la lecture précédente) et « consommation d'eau élevée » (la moyenne journalière dépasse le seuil d'alerte, une fois par franchissement). Un seuil à 0 désactive l'alerte. Le premier déclencheur sert principalement à l'animation des interfaces graphiques ou au déclenchement de scripts liés à l'occupation du bâtiment. Le second déclencheur est la véritable valeur ajoutée du système. En se basant sur une consommation journalière moyenne plutôt que sur un simple débit instantané élevé, l'algorithme limite l'impact des pics d'usage ponctuels. Il vise à identifier l'anomalie structurelle caractéristique d'une fuite cachée (comme une chasse d'eau défectueuse) : une consommation modérée, mais continue, faisant inéluctablement dériver la moyenne calculée au-delà du seuil critique configuré par l'administrateur.
FAQ : questions courantes sur l'extraction des données
Faut-il une connexion internet permanente pour surveiller son compteur ?
Non, les architectures basées sur des protocoles locaux permettent de conserver l'entièreté du traitement au sein de votre réseau privé. En déployant un capteur d'impulsion connecté à un bus MQTT sans fil ou en configurant un point d'accès JSON interne (requête GET directe), le flux de données transite exclusivement entre le compteur physique et votre hub. Cette approche garantit un fonctionnement continu des automatisations, même en cas de panne de la connexion externe, tout en préservant l'indépendance vis-à-vis des serveurs tiers.


