Acquisition des infos d'un compteur d'eau.

Forum dédié au protocole MQTT : fonctionnement, intégration ...
Pour les questions concernant le plugin de FlyingDomotic, merci d'utiliser le sous-forum dédié.
Répondre
Ian22
Messages : 34
Inscription : 23 juil. 2021, 13:49

Acquisition des infos d'un compteur d'eau.

Message par Ian22 »

Bonjour,

Je rame depuis un moment à essayer de récupérer les données envoyées par mon compteur d'eau. C'est un "DIEHL METERING" équipé d'un module radio "IZAR RC 868 i G4". Suite à plusieurs lectures, j'ai acquis un petit module SDR "NOOELEC NESDR Nano2" et installé les logiciels GQRX et RTL_433 sur mon Pc/ArchLinux. Je parviens à identifier et filtrer des trames provenant d'un ou plusieurs modules IZAR (je suppose que tous les compteurs du lotissement sont équipés du même module IZAR).
Dans les docs DIEHL, il est mentionné "Le module IZAR RC 868 i G4 envoie les informations en mode R3 selon la spécification OMS. Il s’agit d’un protocole de communication basé sur les normes EN13757- 3/-4). J'ai commencé à regarder ce protocole OMS mais je ne suis pas allé très loin pour l'instant :shock:
J'ai aussi installé sur mon Raspberry Pi un petit module CC1101 et j'en suis là en ce moment.
Je lisais hier des pages du forum de easydomoticz et je suis tombé sur " un widget qui affiche le nombre de litres consommés par heure" de marcus_54. Il semble donc que je ne suis pas seul au monde à être équipé de ce module radio IZAR. Et donc @marcus_54, te serait-il possible de décrire ton installation ? Utilises-tu le module CC1101 ou autre chose ? Comment as-tu décodé la trame d'infos ?

Merci et bonne soirée,

Ian.
marcus_54
Messages : 425
Inscription : 28 févr. 2018, 12:15

Re: Acquisition des infos d'un compteur d'eau.

Message par marcus_54 »

Bonsoir,

Tu es toujours sur ton compteur d'eau ?
Domoticz 2024.7
Domoticz sur RPI 4B+ : MQTT; MQTTMapper; Zigbee; RFlink DIY 433; Téléinfo; DS18B20; Capteur; compteur eau wmbusmeter, NanoLeaf...
Ian22
Messages : 34
Inscription : 23 juil. 2021, 13:49

Re: Acquisition des infos d'un compteur d'eau.

Message par Ian22 »

Bonsoir,

Désolé du délai, je ne me suis pas connecté depuis deux semaines ... Et merci de me poser la question :)
Oui, je suis toujours sur mon compteur mais j'ai avancé. J'ai essayé de "décoder" les datagrams reçus mais les documents que j'ai pu consulter ne m'aident pas beaucoup ... En parallèle et à force de faire des recherches sur le net, j'ai testé les soft rtl_sdr, rtl_wmbus et wmbusmeters et je parviens maintenant à recevoir la mesure de ma consommation pratiquement en temps réel ! Inutile de dire qu'il a fallu trouver la bonne position de l'antenne du Nesdr, la réception n'est pas toujours facile.
Je reçois donc des lignes d'informations dans lesquelles je trouve bien la mesure du volume d'eau consommé et beaucoup d'autres infos dont je n'ai pas la signification pour le moment :

sappel / N°compteur / H19UA / 373112 / 227.81 m³ / 203.328 m³ / 2023-12-28 / 10 / y / no_alarm / no_alarm / 8 / s / 2019 / 2024-09-17 15:23:19.

sappel c'est l'ancien nom de DIEHL metering
L'info intéressante est la cinquième, le volume mesuré (227.81 m³) et la dernière, la date et l'heure.

J'ai tout çà sur un portable sous Archlinux, il me faut maintenant voir comment obtenir la même chose sur le Raspberry Pi que j'utilise pour Domoticz. J'ai installé un récepteur CC1101 et donc je ne sais pas encore comment récupérer les infos sur ce récepteur ...

Voilà où j'en suis.

Et toi, as-tu décodé toutes ces lignes ?


Bonne soirée,

Ian.
marcus_54
Messages : 425
Inscription : 28 févr. 2018, 12:15

Re: Acquisition des infos d'un compteur d'eau.

Message par marcus_54 »

Désolé, j'ai été très occupé avec un problème sur MQTT sur ce forum et je t'ai un peu zappé :(

Avec le RTL-SDR on peut assez facilement récupérer les trames.
Néanmoins le rtl-wmbus fait tourner un coeur du processeur à 100%.
Il existe des clés qui permettent de recevoir les trames les transmettre via USB néanmoins j'en n'en ai pas trouvé en moins de 75€ et donc je suis toujours avec mon RTL-SDR.
J'ai pris un raspberry PI dédié pour le la réception et le décodage des trames.

Dans wmbusmeters il y a un fichier de configuration où tu choisis ton compteur
/etc/wmbusmeters.d/MyTapWater :

Code : Tout sélectionner

name=MyTapWater
id=xxxxxxxxxx
driver=dme_07
field_city=xxxxx
calculate_total_l=total_m3
Dans un autre fichier de configuration tu choisis ce que tu veux envoyer à Domoticz ou à MQTT
chez moi (ci-dessous j'envois 4 JSON)

/etc/wmbusmeters.conf

Code : Tout sélectionner

loglevel=normal
device=rtlwmbus
logtelegrams=false
format=json
shell=/usr/bin/mosquitto_pub -h localhost -t domoticz/in -m "{\"idx\":1136,\"svalue\":\"$METER_TOTAL_M3\"}"
shell=/usr/bin/mosquitto_pub -h localhost -t domoticz/in -m "{\"idx\":1137,\"svalue\":\"$METER_TOTAL_L\"}"
shell=/usr/bin/mosquitto_pub -h localhost -t "Trame/$METER_ID" -m "$METER_JSON"
shell=/usr/bin/mosquitto_pub -h localhost -t " Eau/consomation/$METER_ID" -m "$METER_JSON"

On n'a pas le même compteur à voir si tu peux transposer..
Voilà à quoi ressemble mes trames:

Code : Tout sélectionner

Started auto rtlwmbus[00000001] listening on t1
telegram=|1E44A511009350247B077AFC0010052F2F_0413B871000002FD1700002F2F2F|+1
{"media":"water","meter":"dme_07","name":"watermeter","id":"24509300","total_m3":29.112,"status":"OK","timestamp":"2024-05-18T19:27:22Z","device":"rtlwmbus[00000001]","rssi_dbm":58}

Domoticz 2024.7
Domoticz sur RPI 4B+ : MQTT; MQTTMapper; Zigbee; RFlink DIY 433; Téléinfo; DS18B20; Capteur; compteur eau wmbusmeter, NanoLeaf...
Ian22
Messages : 34
Inscription : 23 juil. 2021, 13:49

Re: Acquisition des infos d'un compteur d'eau.

Message par Ian22 »

Bonsoir,

Pas de problème, j'ai suivi le sujet du plugin MQTT et je me doute bien que tu devais être occupé. De mon côté, à force de lire et de relire les docs, j'ai fini par utiliser wmbusmeters et obtenir les informations utiles. J'ai aujourd'hui défini wmbusmeters en service et j'en suis maintenant à me battre avec mqtt, mosquitto, mqtt-explorer ...
J'ai abandonné pour l'instant l'utilisation du module CC1101 et j'ai installé le rtl-sdr sur mon RPi. Ma réception est toujours problématique mais un peu meilleure depuis que j'ai remplacé l'antenne télescopique par un dipôle. je vais faire une petite antenne Yagi à deux ou trois directeurs, çà devrait être mieux. Tu peux voir d'ailleurs en fin de ligne d'infos reçues que le rssi-dbm est à 13, à comparer aux 58 dbm sur tes infos ...

Il me semble que nos compteurs ne sont pas si différents :
IMG_20240124_151208C.jpg
IMG_20240124_151208C.jpg (13.19 Kio) Consulté 7989 fois
J'utilise cette commande :

wmbusmeters --format=json rtlwmbus:t1 MyWater izar '12345678' NOKEY

et j'obtiens ceci :

Started config rtlwmbus[00000001] listening on t1
{"media":"water","meter":"izar","name":"MyWater","id":"12345678","last_month_total_m3":203.328,"remaining_battery_life_y":10,"total_m3":229.295,"transmit_period_s":8,"current_alarms":"no_alarm","last_month_measure_date":"2023-12-28","manufacture_year":"2019","prefix":"H19UA","previous_alarms":"no_alarm","serial_number":"987654","timestamp":"2024-10-05T11:37:05Z","device":"rtlwmbus[00000001]","rssi_dbm":13}

Merci pour tes deux fichiers, je n'avais pas encore créé celui de /etc/wmbusmeters.d. À quoi sert le champ field_city ? Uniquement à éviter de se perdre ? :D
Il me reste à comprendre comment faire communiquer Domoticz avec mqtt ... Le middleware n'est pas ma tasse de thé !

Merci de ton aide,

Ian.
marcus_54
Messages : 425
Inscription : 28 févr. 2018, 12:15

Re: Acquisition des infos d'un compteur d'eau.

Message par marcus_54 »

Hello

Pour l'antenne sur mon RTL SDR, il est dans le garage avec une toute petite antenne de GSM, il faut dire le compteur est à l'autre bout du garage ce qui aide grandement ;)
Avant de l'installer dans le garage, j'avais fait des essais et je l'avais branché sur une antenne TV, j'avais réussi à capter environ une quinzaine de compteurs dans le voisinage :P

Pour communiquer le plus simple et d'utiliser MQTT c'est ce qu'on appelle un broker.
Je te donne les instructions pour l'installer.
ça se fait très facilement sur un raspberry PI et ça consomme rien en terme de ressources.
MQTT : Mosquitto
posquitto.pub publish transfert les données vers un brocker
Installation d'un broker
https://www.lesalexiens.fr/domotique/tu ... pberry-pi/
a compléter avec :

Code : Tout sélectionner

cd /opt
apt install mosquitto-clients		
apt-get install mosquitto		
systemctl enable mosquitto.service

nano /etc/mosquitto/mosquitto.conf
ajouter

Code : Tout sélectionner

		listener 1883
		allow_anonymous true		
commande nano :
déplacer le curseur avec les touches
clic droit pour coller
ctrl X pour quitter
Y (ou O si c'est en fr) pour enregistrer
entrer pour valider

pas de mdp pour domoticZ

Code : Tout sélectionner

systemctl restart mosquitto

Pour la partie domoticz il y a 2 façons de procéder :
Soit dans la configuration WMbusmeter formater un json, c'est une trame de données qui sera dirigée vers Domoticz et son idx de compteur. avec comme appareil : MQTT Client with LAN Interface.

dans nano /etc/wmbusmeters.conf ajouter (changer le 1137 par l'idx de votre compteur)

Code : Tout sélectionner

shell=/usr/bin/mosquitto_pub -h localhost -t domoticz/in -m "{\"idx\":1137,\"svalue\":\"$METER_TOTAL_L\"}"

Soit transmettre la trame générale de wmbusmeter sur MQTT et dans domoticz utiliser un appareil MQTT auto Discoverery Client Gateway with LAN interface et ton compteur va apparaitre. ou encore avec MQTTMapper, avec un fichier à configurer...


dans nano /etc/wmbusmeters.conf ajouter

Code : Tout sélectionner

shell=/usr/bin/mosquitto_pub -h localhost -t " Eau/consomation/$METER_ID" -m "$METER_JSON"
Eau/consomation est le topic à lire dans MQTT
{"media":"water","meter":"dme_07","name":"MyTapWater","id":"24509387","total_m3":38.376,"total_l":38376,"status":"OK","timestamp":"2024-10-06T17:41:08Z","device":"rtlwmbus[00000001]","rssi_dbm":124,"city":"terre"}
Domoticz 2024.7
Domoticz sur RPI 4B+ : MQTT; MQTTMapper; Zigbee; RFlink DIY 433; Téléinfo; DS18B20; Capteur; compteur eau wmbusmeter, NanoLeaf...
Ian22
Messages : 34
Inscription : 23 juil. 2021, 13:49

Re: Acquisition des infos d'un compteur d'eau.

Message par Ian22 »

Bonjour,

Pour ce qui est de ma réception, c'est mieux depuis que j'ai fabriqué une petite antenne Yagi, j'arrive à 25dbm. Dans mon lotissement les compteurs sont à 1,2m sous terre, çà n'aide pas :shock: C'est d'ailleurs pour çà que je me suis intéressé aux émetteurs placés sur les compteurs, il sera moins difficile de surveiller la consommation et les fuites éventuelles dans quelques années, quand je ne pourrai plus mettre la tête dans la buse pour lire le compteur :D :D :D
J'ai bien compris à quoi sert Mosquitto/MQTT et les infos que tu m'as données vont m'aider à mettre en marche le bébé. Pour ce qui est de la partie informatique, pas de problème, j'ai 45 ans d'info derrière moi en système et développement.

Mon problème du jour vient plutôt de Domoticz ou de mon fonctionnement : J'avais créé il y a une dizaine de jours dans la configuration/matériel une ligne pour mon compteur d'eau avec "MQTT Client Gateway with LAN interface Setup" et le widget correspondant était bien visible dans la page "Mesures". J'ai un peu bricolé samedi là dessus et pour faire le ménage, j'ai supprimé cette ligne du compteur d'eau. Le widget a bien disparu mais quand j'ai recréé une ligne dans hardware, elle apparaît bien dans hardware mais pas de widget et je ne trouve pas de ligne correspondante dans les "dispositifs". J'ai redémarré Domoticz plusieurs fois, le Raspberry aussi mais rien n'y fait. Aurais-tu une idée ???

merci,

Ian.
marcus_54
Messages : 425
Inscription : 28 févr. 2018, 12:15

Re: Acquisition des infos d'un compteur d'eau.

Message par marcus_54 »

L'ajout de nouveaux matériels n'est pas automatique de domoticz, c'est une bonne chose ;) J'en ai fait l'expérience dans mes débuts où j'avais installé une passerelle RF Link qui détecte les appareils en 433 Mhz. Je l'avais laissé activée durant plusieurs jours, j'avais récupéré plusieurs centaines d'appareils...
Du coup cette option est désactivée par défaut et il faut aller l'activer pour une durée de 5 Min.

Il faut aller dans "Configuration" "paramètres" et "autoriser l'ajout de nouveaux dispositifs durant 5 Min...
Autre truc à vérifier également, c'est d'aller jeter un coup d'œil dans les "Configuration" "log" dans l'onglet "erreur" voir si ce que tu installes génère une erreur ou pas.
Domoticz 2024.7
Domoticz sur RPI 4B+ : MQTT; MQTTMapper; Zigbee; RFlink DIY 433; Téléinfo; DS18B20; Capteur; compteur eau wmbusmeter, NanoLeaf...
Ian22
Messages : 34
Inscription : 23 juil. 2021, 13:49

Re: Acquisition des infos d'un compteur d'eau.

Message par Ian22 »

Je pense que le problème est ailleurs. J'ai déjà ajouté du matériel et des dispositifs sans problème (en activant les 5 mns). J'ai d'ailleurs créé hier une entrée de type "motherboard sensors" pour tester le fonctionnement et tout fonctionne bien. Je vois d'ailleurs que le proc de mon Rpi est à + de 52° :oops: Je vais lui installer un ventilo ...

Et dans les logs, pas d'erreur !!!

Je cherche, je cherche ... :lol:
marcus_54
Messages : 425
Inscription : 28 févr. 2018, 12:15

Re: Acquisition des infos d'un compteur d'eau.

Message par marcus_54 »

MQTT Client Gateway with LAN interface
C'était ma première approche.
Si je ne fais pas d'erreur : Le Brocker doit envoyer

Code : Tout sélectionner

shell=/usr/bin/mosquitto_pub -h localhost -t domoticz/in -m "{\"idx\":1137,\"svalue\":\"$METER_TOTAL_L\"}"
Dans matériel, tu dois créer un nouveau matériel "dummy" la, tu vas créer un widget virtuel, tu choisiras un type compteur water.
Tu repères l'idx et tu remplaces le 1137 de ma ligne MQTT du dessus par le tien
Domoticz 2024.7
Domoticz sur RPI 4B+ : MQTT; MQTTMapper; Zigbee; RFlink DIY 433; Téléinfo; DS18B20; Capteur; compteur eau wmbusmeter, NanoLeaf...
Répondre