Korak 1: Telegraf čita putem Modbus TCP
Telegraf ima Modbus ulazni dodatak. Za svako brojilo izradite blok s njegovom adresom uređaja. Primjer čita preuzetu i predanu energiju brojila s adresom uređaja 9:
[[inputs.modbus]]
name = "m_center"
controller = "tcp://192.168.1.50:502"
slave_id = 9
timeout = "5s"
interval = "15m"
holding_registers = [
{ name = "preuzeto_ukupno", byte_order = "ABCD", data_type = "FLOAT32-IEEE", scale = 1.0, address = [999, 1000] },
{ name = "predano_ukupno", byte_order = "ABCD", data_type = "FLOAT32-IEEE", scale = 1.0, address = [1149, 1150] },
]
[inputs.modbus.tags]
brojilo = "stan_1"
Telegraf broji adrese od 0, priručnik od 1: registar 1000 postaje 999. Redoslijed bajtova ABCD odgovara big endianu s višom riječi prvom, kako ga daje M-Center. Zapis opcija mijenja se između verzija Telegrafa; vrijedi dokumentacija dodatka Vaše verzije.
Alternativa: Telegraf čita putem MQTT-a
S MQTT licencom Telegraf se pretplaćuje na teme M-Centera dodatkom inputs.mqtt_consumer:
<prefiks>/emu/mcenter/<MAC>/meterreading/+/byobis/#
Kako Telegraf obrađuje poruke, određujete parametrom data_format. Zato najprije MQTT klijentom pregledajte sadržaj poruka.
Korak 2: InfluxDB i Grafana
- U Telegrafu postavite izlaz na InfluxDB (
outputs.influxdb_v2s URL-om, tokenom, organizacijom i bucketom). - U Grafani dodajte InfluxDB kao izvor podataka.
- Izradite panel i postavite upit za izmjerenu vrijednost. Za potrošnju po danu ili mjesecu računajte razliku stanja brojila u vremenskom prozoru.
Stanja brojila samo rastu. Stupčasti grafikon dnevne potrošnje stoga obično govori više od krivulje stanja brojila.