Configuration des compteurs MBus

Nicolas À jour par Nicolas

Contrairement aux compteurs et autres appareils Modbus pour lesquels le gateway lit un registre de donnée spécifique à la fois, les compteurs MBus renvoient systématiquement tous leurs registres en un seul packet nommé télégramme.

Il faut alors parser ce télégramme pour n'en garder que les valeurs qui nous intéressent à savoir l'index du compteur (registre de l'énergie ou du volume consommé visible sur le cadran du compteur).

Configuration standard

La configuration standard est possible lorsque les compteurs connectés au Gateway ont une adresse primaire unique et sont d'un modèle enregistré dans le portail en ligne.

Plusieurs modèles standards sont enregistrés tels que le Integra Amtron S3U (integra_heat) et le Integra Saphir Modularis (saphir_modularis).

Exemple ci-dessous d'un compteur de chauffage Integra Amtron S3U (integra_heat) avec l'adresse primaire unique 1.

Configuration avancée

Lorsque le modèle de compteur n'est pas enregistré et/ou que les adresses primaires n'ont pas été définies, il faut configurer manuellement d'autres éléments.

Analyse du télégramme

Tout d'abord, on lit et on analyse le télégramme brut du compteur via le webserver de configuration du Gateway sous Meters > MBus > Read MBus Meter

En branchant un compteur à la fois, on peut lire le compteur avec l'adresse primaire par défaut 0.

Par défaut le baudrate est de 2400.

Si le compteur est bien connecté au Gateway, on reçoit le télégramme brut après quelques secondes :

Adresse primaire et adresse secondaire

Par défaut, un compteur MBus a l'adresse 0 ou 1. Il est possible d'éditer l'adresse primaire entre 1 et 250.

En branchant un compteur à la fois, on peut changer son adresse primaire via le webserver de configuration du Gateway sous Meters > MBus > Edit MBus Address.

On peut aussi utiliser l'adresse secondaire du compteur qui est unique et qui évite de configurer une adresse primaire pour chaque compteur.

L'adresse secondaire est visible en première ligne (no 0) du télégramme. Dans l'exemple ci-dessus, il s'agit de 20316513C5140004

"Secondary address: {manufacturer ID: EFE, device ID: 13653120, device version: 0, device type: HEAT_METER, as bytes: 20316513C5140004}"

L'adresse secondaire a toujours la même structure quel que soit le modèle ou le fabricant du compteur. Elle est composée des éléments suivants :

Serial number (inversé)

Manufacturer

Version

Type

20316513

C5 14

00

04

Pour la lecture du compteur, il est possible de remplacer les éléments "Manufacturer, Version, Type" par 8 caractères "F" consécutifs. Ainsi l'adresse secondaire de l'exemple ci-dessus peut être constituée de la manière suivante: 20316513FFFFFFFF

On peut ainsi facilement connaître une adresse secondaire en inversant le numéro de série du compteur. En général, le numéro de série est gravé sur la face avant du compteur.

Serial number (inversé)

Manufacturer

Version

Type

20316513

FF FF

FF

FF

Plus d'informations sur la structure d'une adresse secondaire sur www.m-bus.de

Sélection manuelle des registres

Une fois l'adresse secondaire connue, il faut encore sélectionner le registre de l'index du compteur.

Dans l'exemple ci-dessus, il figure à la ligne no 3 (la numérotation commence à 0).

Pour un compteur de chauffage, on sélectionne l'élément ENERGY INST_VALavec l'unité WATT_HOUR, Wh

Pour un compteur d'eau, on sélectionne l'élément VOLUME INST_VALavec l'unité CUBIC_METRE, m\u00b3

Configuration dans le portail en ligne

On configure ensuite le compteur dans le portail en ligne pour y insérer son adresse secondaire et la position des registres.

Editer le compteur et sélectionner le modèle manual_heat_secondary_ad pour un compteur thermique et manual_water_secondary_ad pour un compteur d'eau chaude ou froide.

Sous paramètres additionnels, on insère les paires "clé-valeur" secondary_ad pour l'adresse secondaire et reg pour le registre.

Pour un compteur de chaleur on utilise heat_energy_kwh pour le registre de l'index du compteur.

Pour un compteur de froid on utilise cold_energy_kwh et pour un compteur d'eau vol_m3.

Voici les valeurs pour l'exemple du compteur de chaleur ci-dessus:

secondary_ad

20316513C5140004

reg

{'heat_energy_kwh': 3}

Autres registres

Il est possible de collecter d'autres registres pour les compteurs thermiques (chaleur et froid) tels que le volume ou les températures des sondes. Voici la liste complète des registres pour l'exemple ci-dessus :

{'flow_temp': 9, 'heat_energy_kwh': 3, 'power_kw': 5, 'return_temp': 10, 'vol_flow_m3_h': 7, 'vol_m3': 4, 'diff_temp': 11}

Télécharger ce fichier Excel pour configurer rapidement l'ensemble des compteurs d'un site et les insérer en une seule fois sur le portail en ligne. Climkit_Mbus_Secondary_address_generator_05_11_2022.xlsx

Autre modèle

Dans le cas, on l'on voudrait lire un compteur MBus qui n'est ni un compteur thermique ni un compteur d'eau comme décrit ci-dessus, on peut utiliser le modèle generic_mbus.

Il faut alors paramètrer les registres en précisant le numéro de la ligne du télégramme ainsi que le nom du registre. Par exemple pour un compteur électrique Mbus on précise le registre en_im pour énergie importée et éventuellement en_ex pour l'énergie exportée.

Exemple:

reg

[{'reg': 26, 'unit': 'en_im'}, {'reg': 27, 'unit': 'en_ex'}]

Comment avons-nous fait ?

Configuration des compteurs Modbus

Traitement des données de comptage

Contact