Configuration des compteurs MBus
À 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 |
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_VAL
avec l'unité WATT_HOUR, Wh
Pour un compteur d'eau, on sélectionne l'élément VOLUME
INST_VAL
avec 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:
|
|
|
|

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}
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:
|
|