From 381fb14139cff0f05c52a2b1a80e558bbc314196 Mon Sep 17 00:00:00 2001 From: Homelab Cursor Date: Thu, 25 Jun 2026 17:43:54 +0200 Subject: [PATCH] telegraf: --- infra/telegraf/openwb.conf | 120 ++++++++++++++-------------- infra/telegraf/satellites.conf | 142 ++++++++++++++++++++------------- 2 files changed, 148 insertions(+), 114 deletions(-) diff --git a/infra/telegraf/openwb.conf b/infra/telegraf/openwb.conf index 3e6f19f58..48d8049ec 100644 --- a/infra/telegraf/openwb.conf +++ b/infra/telegraf/openwb.conf @@ -1,60 +1,60 @@ -[[outputs.influxdb]] - urls = ["http://127.0.0.1:8086"] - database = "iobroker" - namedrop = ["temperature", "io_state", "power"] - -[[inputs.mqtt_consumer]] - servers = ["tcp://192.168.178.104:1883"] - topics = [ - "openWB/global/WHouseConsumption", - "openWB/global/DailyYieldHausverbrauchKwh", - "openWB/evu/W", - "openWB/evu/WhImported", - "openWB/evu/WhExported", - "openWB/evu/DailyYieldImportKwh", - "openWB/evu/DailyYieldExportKwh", - "openWB/evu/WPhase1", - "openWB/evu/WPhase2", - "openWB/evu/WPhase3", - "openWB/pv/W", - "openWB/pv/WhCounter", - "openWB/pv/DailyYieldKwh", - "openWB/housebattery/W", - "openWB/housebattery/%Soc", - "openWB/housebattery/WhImported", - "openWB/housebattery/WhExported", - "openWB/housebattery/DailyYieldImportKwh", - "openWB/housebattery/DailyYieldExportKwh" - ] - data_format = "value" - data_type = "float" - name_override = "openwb" - topic_tag = "topic" - -# OpenWB Wallbox/Ladepunkt Daten -[[inputs.mqtt_consumer]] - servers = ["tcp://192.168.178.104:1883"] - topics = [ - "openWB/lp/1/W", - "openWB/lp/1/%Soc", - "openWB/lp/1/kWhCounter", - "openWB/lp/1/kWhDailyCharged", - "openWB/lp/1/kWhChargedSincePlugged", - "openWB/lp/1/APhase1", - "openWB/lp/1/APhase2", - "openWB/lp/1/APhase3", - "openWB/lp/1/boolPlugStat", - "openWB/lp/1/boolChargeStat", - "openWB/lp/1/ChargeStatus", - "openWB/lp/1/kmCharged", - "openWB/global/kWhCounterAllChargePoints", - "openWB/global/DailyYieldAllChargePointsKwh" - ] - data_format = "value" - data_type = "float" - name_override = "openwb_wallbox" - topic_tag = "topic" - - [inputs.mqtt_consumer.tags] - source = "openwb" - device = "wallbox" +[[outputs.influxdb]] + urls = ["http://127.0.0.1:8086"] + database = "iobroker" + namedrop = ["temperature", "io_state", "power", "node_status"] + +[[inputs.mqtt_consumer]] + servers = ["tcp://192.168.178.104:1883"] + topics = [ + "openWB/global/WHouseConsumption", + "openWB/global/DailyYieldHausverbrauchKwh", + "openWB/evu/W", + "openWB/evu/WhImported", + "openWB/evu/WhExported", + "openWB/evu/DailyYieldImportKwh", + "openWB/evu/DailyYieldExportKwh", + "openWB/evu/WPhase1", + "openWB/evu/WPhase2", + "openWB/evu/WPhase3", + "openWB/pv/W", + "openWB/pv/WhCounter", + "openWB/pv/DailyYieldKwh", + "openWB/housebattery/W", + "openWB/housebattery/%Soc", + "openWB/housebattery/WhImported", + "openWB/housebattery/WhExported", + "openWB/housebattery/DailyYieldImportKwh", + "openWB/housebattery/DailyYieldExportKwh" + ] + data_format = "value" + data_type = "float" + name_override = "openwb" + topic_tag = "topic" + +# OpenWB Wallbox/Ladepunkt Daten +[[inputs.mqtt_consumer]] + servers = ["tcp://192.168.178.104:1883"] + topics = [ + "openWB/lp/1/W", + "openWB/lp/1/%Soc", + "openWB/lp/1/kWhCounter", + "openWB/lp/1/kWhDailyCharged", + "openWB/lp/1/kWhChargedSincePlugged", + "openWB/lp/1/APhase1", + "openWB/lp/1/APhase2", + "openWB/lp/1/APhase3", + "openWB/lp/1/boolPlugStat", + "openWB/lp/1/boolChargeStat", + "openWB/lp/1/ChargeStatus", + "openWB/lp/1/kmCharged", + "openWB/global/kWhCounterAllChargePoints", + "openWB/global/DailyYieldAllChargePointsKwh" + ] + data_format = "value" + data_type = "float" + name_override = "openwb_wallbox" + topic_tag = "topic" + + [inputs.mqtt_consumer.tags] + source = "openwb" + device = "wallbox" \ No newline at end of file diff --git a/infra/telegraf/satellites.conf b/infra/telegraf/satellites.conf index dfc90526a..7ce0d16f5 100644 --- a/infra/telegraf/satellites.conf +++ b/infra/telegraf/satellites.conf @@ -1,54 +1,88 @@ -# Telemetrie-Ingestion -> InfluxDB 'sensors' (Telegraf, additiv). -# Raum-Satelliten (+/temp) + Heizraum (Temp + digitale io-Signale). -# Routing: dieser Output nimmt NUR temperature/io_state; openwb.conf-Output dropt sie. -[[outputs.influxdb]] - urls = ["http://127.0.0.1:8086"] - database = "sensors" - namepass = ["temperature", "io_state", "power"] - -# --- Raum-Satelliten: /temp --- -[[inputs.mqtt_consumer]] - servers = ["tcp://127.0.0.1:1883"] - topics = ["+/temp"] - data_format = "value" - data_type = "float" - name_override = "temperature" - topic_tag = "" - [[inputs.mqtt_consumer.topic_parsing]] - topic = "+/temp" - measurement = "_/_" - tags = "node/_" - -# --- Heizraum: DS18B20-Temperatur(en) heizraum/ --- -[[inputs.mqtt_consumer]] - servers = ["tcp://127.0.0.1:1883"] - topics = ["heizraum/+"] - data_format = "value" - data_type = "float" - name_override = "temperature" - topic_tag = "" - [inputs.mqtt_consumer.tags] - node = "heizraum" - [[inputs.mqtt_consumer.topic_parsing]] - topic = "heizraum/+" - measurement = "_/_" - tags = "_/sensor" - -# --- Heizraum: digitale Signale (Pumpen/Brenner/Kessel) 0/1 --- -[[inputs.mqtt_consumer]] - servers = ["tcp://127.0.0.1:1883"] - topics = ["heizraum/io/+", "heizraum/state/kessel"] - data_format = "value" - data_type = "integer" - name_override = "io_state" - topic_tag = "" - [inputs.mqtt_consumer.tags] - node = "heizraum" - [[inputs.mqtt_consumer.topic_parsing]] - topic = "heizraum/io/+" - measurement = "_/_/_" - tags = "_/_/signal" - [[inputs.mqtt_consumer.topic_parsing]] - topic = "heizraum/state/+" - measurement = "_/_/_" - tags = "_/_/signal" +# Telemetrie-Ingestion -> InfluxDB 'sensors' (Telegraf, additiv). +# Raum-Satelliten (+/temp) + Heizraum (Temp + digitale io-Signale) + Ölknoten. +# Routing: dieser Output nimmt NUR temperature/io_state/power/node_status; openwb.conf-Output dropt sie. +[[outputs.influxdb]] + urls = ["http://127.0.0.1:8086"] + database = "sensors" + namepass = ["temperature", "io_state", "power", "node_status"] + +# --- Raum-Satelliten: /temp --- +[[inputs.mqtt_consumer]] + servers = ["tcp://127.0.0.1:1883"] + topics = ["+/temp"] + data_format = "value" + data_type = "float" + name_override = "temperature" + topic_tag = "" + [[inputs.mqtt_consumer.topic_parsing]] + topic = "+/temp" + measurement = "_/_" + tags = "node/_" + +# --- Heizraum: DS18B20-Temperatur(en) heizraum/ --- +[[inputs.mqtt_consumer]] + servers = ["tcp://127.0.0.1:1883"] + topics = ["heizraum/+"] + data_format = "value" + data_type = "float" + name_override = "temperature" + topic_tag = "" + [inputs.mqtt_consumer.tags] + node = "heizraum" + [[inputs.mqtt_consumer.topic_parsing]] + topic = "heizraum/+" + measurement = "_/_" + tags = "_/sensor" + +# --- Ölknoten: DS18B20-Temperatur(en) oelknoten/ --- +[[inputs.mqtt_consumer]] + servers = ["tcp://127.0.0.1:1883"] + topics = ["oelknoten/raum","oelknoten/hk_vorlauf","oelknoten/vl_erd_an","oelknoten/rl_erd_ab"] + data_format = "value" + data_type = "float" + name_override = "temperature" + topic_tag = "" + [inputs.mqtt_consumer.tags] + node = "oelknoten" + [[inputs.mqtt_consumer.topic_parsing]] + topic = "oelknoten/+" + measurement = "_/_" + tags = "_/sensor" + +# --- Heizraum: digitale Signale (Pumpen/Brenner/Kessel) 0/1 --- +[[inputs.mqtt_consumer]] + servers = ["tcp://127.0.0.1:1883"] + topics = ["heizraum/io/+", "heizraum/state/kessel"] + data_format = "value" + data_type = "integer" + name_override = "io_state" + topic_tag = "" + [inputs.mqtt_consumer.tags] + node = "heizraum" + [[inputs.mqtt_consumer.topic_parsing]] + topic = "heizraum/io/+" + measurement = "_/_/_" + tags = "_/_/signal" + [[inputs.mqtt_consumer.topic_parsing]] + topic = "heizraum/state/+" + measurement = "_/_/_" + tags = "_/_/signal" + +# --- Ölknoten: LWT-Status (online/offline -> 1/0) --- +[[inputs.mqtt_consumer]] + servers = ["tcp://127.0.0.1:1883"] + topics = ["oelknoten/status"] + data_format = "value" + data_type = "string" + name_override = "node_status" + topic_tag = "" + [inputs.mqtt_consumer.tags] + node = "oelknoten" + +[[processors.enum]] + namepass = ["node_status"] + [[processors.enum.mapping]] + field = "value" + [processors.enum.mapping.value_mappings] + online = 1 + offline = 0 \ No newline at end of file