Au détour de OpenDTU : Influxdb2 + Telegraf + Grafana

janvier 19, 2025

En paramétrant corrrectement Telegraf poru Influxdb il est tout a fait possible de recuperer un beau tableau de bord pour controler les données de OpenDTU.

Voici mon fichier de configuration de telegraf (sous /etc/telegraf/conf.d)

[[inputs.mqtt_consumer]]
  servers = ["tcp://localhost:1883"]
  topics = [
     "solar/+/status/+",
     "solar/+/0/+",
     "solar/+/1/+",
     "solar/+/2/+"
  ]
  data_format = "value"
  data_type = "float"

[[inputs.mqtt_consumer.topic_parsing]]
  topic = "solar/+/+/+"
  tags = "_/serial/channel/field"
[[processors.pivot]]
  tag_key = "field"
  value_key = "value"
# system stop  telegraf
# system start  telegraf
# system status telegraf

Ensuite il faut créer un bucket « solar » dans Influxdb2 et surtout lui donner des droits avec le token afin de paramétrer dans grafana la bonne source de données

Puis importer le dashboard dispo ici : https://grafana.com/grafana/dashboards/18819-opendtu-flux/

et le tour est presque joué
A noter qu’il faut modifier dans les settings du tbd , le paramètre qui récupère les MO :


from(bucket: "solar")
|> range(start: v.timeRangeStart, stop: v.timeRangeStop)
|> filter(fn: (r) => r._measurement == "mqtt_consumer" and r._field == "power")
|> keyValues(keyColumns: ["serial"])
|> group()
|> keep(columns: ["_value"])
|> distinct(column: "_value")