diff --git a/infra/telegraf/satellites.conf b/infra/telegraf/satellites.conf new file mode 100644 index 000000000..ce5e2d1dd --- /dev/null +++ b/infra/telegraf/satellites.conf @@ -0,0 +1,263 @@ +# 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 (ohne oelraum — siehe aussen-Block) --- +[[inputs.mqtt_consumer]] + servers = ["tcp://127.0.0.1:1883"] + topics = [ + "kueche/temp", "wohnstube/temp", "schlafzimmer/temp", + "flur_unten/temp", "flur_oben/temp", "gaestezimmer/temp", + "garage/temp", "trockenraum/temp", + ] + data_format = "value" + data_type = "float" + name_override = "temperature" + topic_tag = "" + [[inputs.mqtt_consumer.topic_parsing]] + topic = "+/temp" + measurement = "_/_" + tags = "node/_" + +# --- Aussenfuehler: MQTT legacy oelraum/temp (ESP8266) -> node=aussen --- +[[inputs.mqtt_consumer]] + servers = ["tcp://127.0.0.1:1883"] + topics = ["oelraum/temp"] + data_format = "value" + data_type = "float" + name_override = "temperature" + topic_tag = "" + [inputs.mqtt_consumer.tags] + node = "aussen" + +# --- Heizraum: DS18B20-Temperatur(en) heizraum/ --- +# WARTUNG: explizite Liste statt Wildcard heizraum/+, damit heizraum/status ("online") +# nicht als Float geparst wird (Lograuschen). NEUE/UMBENANNTE Fuehler hier ergaenzen, +# sonst werden ihre Werte NICHT ingestiert. Stand-Liste generiert aus InfluxDB 14.07.2026. +[[inputs.mqtt_consumer]] + servers = ["tcp://127.0.0.1:1883"] + topics = [ + "heizraum/288A027600000019", "heizraum/aussen_heizraum", "heizraum/hk_rl_1_links", + "heizraum/hk_rl_2_links", "heizraum/hk_rl_3_nebengelass", "heizraum/hk_rl_gesamt", + "heizraum/hk_vl_nach_mischer", "heizraum/hv_body", "heizraum/hv_rl", + "heizraum/hv_vl", "heizraum/oel_rl", "heizraum/oel_vl", + "heizraum/puffer_1_oben", "heizraum/puffer_2_oben_mitte", "heizraum/puffer_3_mitte", + "heizraum/puffer_4_unten_mitte", "heizraum/puffer_5_unten", "heizraum/puffer_vl_zum_mischer", + "heizraum/solar_rl", "heizraum/solar_vl", "heizraum/ww_zirku_rl", + ] + 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 ESP Easy: heizraum-sensor-N/temp/ -> node=heizraum --- +[[inputs.mqtt_consumer]] + servers = ["tcp://127.0.0.1:1883"] + topics = [ + "heizraum-sensor-1/temp/+", + "heizraum-sensor-2/temp/+", + "heizraum-sensor-3/temp/+", + "heizraum-sensor-4/temp/+", + ] + data_format = "value" + data_type = "float" + name_override = "temperature" + topic_tag = "" + [inputs.mqtt_consumer.tags] + node = "heizraum" + [[inputs.mqtt_consumer.topic_parsing]] + topic = "heizraum-sensor-1/temp/+" + measurement = "_/_/_" + tags = "_/_/sensor" + [[inputs.mqtt_consumer.topic_parsing]] + topic = "heizraum-sensor-2/temp/+" + measurement = "_/_/_" + tags = "_/_/sensor" + [[inputs.mqtt_consumer.topic_parsing]] + topic = "heizraum-sensor-3/temp/+" + measurement = "_/_/_" + tags = "_/_/sensor" + [[inputs.mqtt_consumer.topic_parsing]] + topic = "heizraum-sensor-4/temp/+" + 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 +# --- Garage-Decke: 5x DS18B20 ueber 2 Shelly 1 (Gen1), MQTT --- +# Sensor-Zuordnung final (26.06.2026, User-identifiziert): +# rl_klimadecke = shelly .86 idx0 hwID 28ff641e01be641a (RL Klimadecke) +# pwt = shelly .86 idx1 hwID 28ff641e01b534e2 (PWT oben geklemmt) +# vl_kaeltedecke = shelly .86 idx2 hwID 28ff641e23c9d2f6 (VL KaelteDecke) +# vl_brunnen = shelly .78 idx0 hwID 28ff641e23ea0235 (VL Brunnen vor PWT) +# rl_brunnen = shelly .78 idx1 hwID 28ff641e23f7232d (RL Brunnen nach PWT) +[[inputs.mqtt_consumer]] + servers = ["tcp://127.0.0.1:1883"] + topics = ["shellies/shelly1-F4CFA2D3B444/ext_temperature/0"] + data_format = "value" + data_type = "float" + name_override = "temperature" + topic_tag = "" + [inputs.mqtt_consumer.tags] + node = "garage_decke" + sensor = "rl_klimadecke" +[[inputs.mqtt_consumer]] + servers = ["tcp://127.0.0.1:1883"] + topics = ["shellies/shelly1-F4CFA2D3B444/ext_temperature/1"] + data_format = "value" + data_type = "float" + name_override = "temperature" + topic_tag = "" + [inputs.mqtt_consumer.tags] + node = "garage_decke" + sensor = "pwt" +[[inputs.mqtt_consumer]] + servers = ["tcp://127.0.0.1:1883"] + topics = ["shellies/shelly1-F4CFA2D3B444/ext_temperature/2"] + data_format = "value" + data_type = "float" + name_override = "temperature" + topic_tag = "" + [inputs.mqtt_consumer.tags] + node = "garage_decke" + sensor = "vl_kaeltedecke" +[[inputs.mqtt_consumer]] + servers = ["tcp://127.0.0.1:1883"] + topics = ["shellies/shelly1-8CAAB55D9A15/ext_temperature/0"] + data_format = "value" + data_type = "float" + name_override = "temperature" + topic_tag = "" + [inputs.mqtt_consumer.tags] + node = "garage_decke" + sensor = "vl_brunnen" +[[inputs.mqtt_consumer]] + servers = ["tcp://127.0.0.1:1883"] + topics = ["shellies/shelly1-8CAAB55D9A15/ext_temperature/1"] + data_format = "value" + data_type = "float" + name_override = "temperature" + topic_tag = "" + [inputs.mqtt_consumer.tags] + node = "garage_decke" + sensor = "rl_brunnen" + +# --- Heizraum ESP Easy: LWT heizraum-sensor-N/status --- +[[inputs.mqtt_consumer]] + servers = ["tcp://127.0.0.1:1883"] + topics = ["heizraum-sensor-1/status"] + data_format = "value" + data_type = "string" + name_override = "node_status" + topic_tag = "" + [inputs.mqtt_consumer.tags] + node = "heizraum-sensor-1" +[[inputs.mqtt_consumer]] + servers = ["tcp://127.0.0.1:1883"] + topics = ["heizraum-sensor-2/status"] + data_format = "value" + data_type = "string" + name_override = "node_status" + topic_tag = "" + [inputs.mqtt_consumer.tags] + node = "heizraum-sensor-2" +[[inputs.mqtt_consumer]] + servers = ["tcp://127.0.0.1:1883"] + topics = ["heizraum-sensor-3/status"] + data_format = "value" + data_type = "string" + name_override = "node_status" + topic_tag = "" + [inputs.mqtt_consumer.tags] + node = "heizraum-sensor-3" +[[inputs.mqtt_consumer]] + servers = ["tcp://127.0.0.1:1883"] + topics = ["heizraum-sensor-4/status"] + data_format = "value" + data_type = "string" + name_override = "node_status" + topic_tag = "" + [inputs.mqtt_consumer.tags] + node = "heizraum-sensor-4" + +# --- Heizraum-Knoten (ESP32): LWT-Status heizraum/status (online/offline -> 1/0) --- +[[inputs.mqtt_consumer]] + servers = ["tcp://127.0.0.1:1883"] + topics = ["heizraum/status"] + data_format = "value" + data_type = "string" + name_override = "node_status" + topic_tag = "" + [inputs.mqtt_consumer.tags] + node = "heizraum" + +# --- Heizraum2-Knoten (ESP8266): LWT-Status heizraum2/status (online/offline -> 1/0) --- +[[inputs.mqtt_consumer]] + servers = ["tcp://127.0.0.1:1883"] + topics = ["heizraum2/status"] + data_format = "value" + data_type = "string" + name_override = "node_status" + topic_tag = "" + [inputs.mqtt_consumer.tags] + node = "heizraum2"