Trin 1: Telegraf læser via Modbus TCP
Telegraf har et Modbus-inputplugin. For hver måler opretter du en blok med dens enhedsadresse. Eksemplet læser forbrug og levering for en strømmåler med enhedsadresse 9:
[[inputs.modbus]]
name = "m_center"
controller = "tcp://192.168.1.50:502"
slave_id = 9
timeout = "5s"
interval = "15m"
holding_registers = [
{ name = "forbrug_i_alt", byte_order = "ABCD", data_type = "FLOAT32-IEEE", scale = 1.0, address = [999, 1000] },
{ name = "levering_i_alt", byte_order = "ABCD", data_type = "FLOAT32-IEEE", scale = 1.0, address = [1149, 1150] },
]
[inputs.modbus.tags]
maaler = "lejlighed_1"
Telegraf tæller adresser fra 0, manualen fra 1: register 1000 bliver til 999. Byterækkefølgen ABCD svarer til big endian med det høje ord først, som M-Center leverer. Skrivemåden for indstillingerne ændrer sig mellem Telegraf-versioner; plugin-dokumentationen for din version gælder.
Alternativ: Telegraf læser via MQTT
Med MQTT-licensen abonnerer Telegraf på M-Centers topics med pluginet inputs.mqtt_consumer:
<præfiks>/emu/mcenter/<MAC>/meterreading/+/byobis/#
Hvordan Telegraf fortolker beskederne, bestemmer du med data_format. Se derfor først beskedindholdet igennem med en MQTT-klient.
Trin 2: InfluxDB og Grafana
- Indstil udgangen i Telegraf til InfluxDB (
outputs.influxdb_v2med URL, token, organisation og bucket). - Tilføj InfluxDB som datakilde i Grafana.
- Opret et panel, og forespørg måleværdien. Til forbrug pr. dag eller måned beregner du forskellen i målerstand over tidsvinduet.
Målerstande stiger kun. Et søjlediagram med dagligt forbrug siger derfor som regel mere end kurven for målerstanden.