Stap 1: Telegraf leest via Modbus TCP
Telegraf heeft een Modbus-invoerplugin. Per meter maakt u een blok met zijn apparaatadres aan. Het voorbeeld leest verbruik en teruglevering van een elektriciteitsmeter met apparaatadres 9:
[[inputs.modbus]]
name = "m_center"
controller = "tcp://192.168.1.50:502"
slave_id = 9
timeout = "5s"
interval = "15m"
holding_registers = [
{ name = "verbruik_totaal", byte_order = "ABCD", data_type = "FLOAT32-IEEE", scale = 1.0, address = [999, 1000] },
{ name = "teruglevering_totaal", byte_order = "ABCD", data_type = "FLOAT32-IEEE", scale = 1.0, address = [1149, 1150] },
]
[inputs.modbus.tags]
meter = "woning_1"
Telegraf telt de adressen vanaf 0, de handleiding vanaf 1: register 1000 wordt 999. Bytevolgorde ABCD komt overeen met big endian met het hoogste woord eerst, zoals het M-Center levert. De schrijfwijze van de opties verandert tussen Telegraf-versies; bepalend is de plugin-documentatie van uw versie.
Alternatief: Telegraf leest via MQTT
Met MQTT-licentie abonneert Telegraf zich op de topics van het M-Center met de plugin inputs.mqtt_consumer:
<prefix>/emu/mcenter/<MAC>/meterreading/+/byobis/#
Hoe Telegraf de berichten verwerkt, legt u vast met data_format. Bekijk daarom vooraf de inhoud van de berichten met een MQTT-client.
Stap 2: InfluxDB en Grafana
- In Telegraf de uitvoer op InfluxDB zetten (
outputs.influxdb_v2met URL, token, organisatie en bucket). - In Grafana InfluxDB als gegevensbron toevoegen.
- Een paneel aanmaken en de meetwaarde opvragen. Voor verbruik per dag of maand berekent u het verschil van de meterstand over het tijdvenster.
Meterstanden stijgen alleen. Een staafdiagram met het verbruik per dag zegt daarom meestal meer dan de curve van de meterstand.