Telegraf inputs plugin inputs.hhtp - Technische Alternative UVR16X2 CMI (Control Monitoring Interface)

Hello,

We have a heating control of Technische Alternative type UVR16X2 and the CMI.
I would like to write the heating data (sensors, feedback, alarms) to the influxdb 2 via telegraf.
I retrieve the data via a Raspberry Pi with telegraf and then write it to the database.
This works initially, but the unnecessary url column bothers me.
Can I somehow prevent/adjust this?

I implemented this based on this article:
https://c0t0d0s0.org/homeautomation/2021/02/19/TA-CMI-with-Telegraf.html

The data is then made available by Telegraf via MQTT.
I then added this as described here:
https://c0t0d0s0.org/homeautomation/2021/02/21/MQTT-and-telegraf.html

The corresponding section of telegraf.conf has the following content:

###############################################################################

C.M.I. Technische Alternative

###############################################################################

[[inputs.http]]
name_override = “heating”
urls = [
“http://10.5.0.10/INCLUDE/api.cgi?jsonnode=2&jsonparam=I1,I2,I3,I4,I5,I6,I7,I9,I10,I15,I16,O1,O2,O12,O13,O14,O15,D1,D2,La21,La22,La30,La31,La32,La33,La34,La35,La36,La37”
]
username = “user”
password = “pass”
data_format = “json”
interval = “65s”
fieldinclude = [
“Data_Inputs_0_Value_Value”,
“Data_Inputs_1_Value_Value”,
“Data_Inputs_2_Value_Value”,
“Data_Inputs_3_Value_Value”,
“Data_Inputs_4_Value_Value”,
“Data_Inputs_5_Value_Value”,
“Data_Inputs_6_Value_Value”,
“Data_Inputs_7_Value_Value”,
“Data_Inputs_8_Value_Value”,
“Data_Inputs_9_Value_Value”,
“Data_Inputs_10_Value_Value”,
“Data_Outputs_0_Value_Value”,
“Data_Outputs_1_Value_Value”,
“Data_Outputs_2_Value_Value”,
“Data_Outputs_3_Value_Value”,
“Data_Outputs_4_Value_Value”,
“Data_Outputs_5_Value_Value”,
“Data_DL-Bus_0_Value_Value”,
“Data_DL-Bus_1_Value_Value”,
“Data_Logging Analog_0_Value_Value”,
“Data_Logging Analog_1_Value_Value”,
“Data_Logging Analog_2_Value_Value”,
“Data_Logging Analog_3_Value_Value”,
“Data_Logging Analog_4_Value_Value”,
“Data_Logging Analog_5_Value_Value”,
“Data_Logging Analog_6_Value_Value”,
“Data_Logging Analog_7_Value_Value”,
“Data_Logging Analog_8_Value_Value”,
“Data_Logging Analog_9_Value_Value”,
]
[inputs.http.tags]
sourcedevice = “cmi”
cminode = “node 2”

[[processors.rename]]
[processors.rename.tagpass]
sourcedevice = [“cmi”]
[[processors.rename.replace]]
field = “Data_Inputs_0_Value_Value”
dest = “T01 VL HK1 Nord”
[[processors.rename.replace]]
field = “Data_Inputs_1_Value_Value”
dest = “T02 VL HK2 Sued”
[[processors.rename.replace]]
field = “Data_Inputs_2_Value_Value”
dest = “T03 Kessel 1”
[[processors.rename.replace]]
field = “Data_Inputs_3_Value_Value”
dest = “T04 TRA TSA Kessel 1”
[[processors.rename.replace]]
field = “Data_Inputs_4_Value_Value”
dest = “T05 Kessel 2”
[[processors.rename.replace]]
field = “Data_Inputs_5_Value_Value”
dest = “T06 TRA TSA Kessel 2”
[[processors.rename.replace]]
field = “Data_Inputs_6_Value_Value”
dest = “T07 Hauptleitung VL”
[[processors.rename.replace]]
field = “Data_Inputs_7_Value_Value”
dest = “T09 Raum Zentralheizung”
[[processors.rename.replace]]
field = “Data_Inputs_8_Value_Value”
dest = “T10 Aussentemperatur”
[[processors.rename.replace]]
field = “Data_Inputs_9_Value_Value”
dest = “Stoerung Kessel 1”
[[processors.rename.replace]]
field = “Data_Inputs_10_Value_Value”
dest = “Stoerung Kessel 2”
[[processors.rename.replace]]
field = “Data_Outputs_0_Value_Value”
dest = “Heizkreispumpe HK1 Nord”
[[processors.rename.replace]]
field = “Data_Outputs_1_Value_Value”
dest = “Heizkreispumpe HK2 Sued”
[[processors.rename.replace]]
field = “Data_Outputs_2_Value_Value”
dest = “Kessel 1 Stufe 1”
[[processors.rename.replace]]
field = “Data_Outputs_3_Value_Value”
dest = " Kessel 1 Stufe 2"
[[processors.rename.replace]]
field = “Data_Outputs_4_Value_Value”
dest = “Kessel 2 Stufe 1”
[[processors.rename.replace]]
field = “Data_Outputs_5_Value_Value”
dest = “Kessel 2 Stufe 2”
[[processors.rename.replace]]
field = “Data_DL-Bus_0_Value_Value”
dest = “T DL01 Abgas Kessel 1”
[[processors.rename.replace]]
field = “Data_DL-Bus_1_Value_Value”
dest = “T DL02 Abgas Kessel 2”
[[processors.rename.replace]]
field = “Data_Logging Analog_0_Value_Value”
dest = “T HK1 Nord Vorlaufsolltemperatur”
[[processors.rename.replace]]
field = “Data_Logging Analog_1_Value_Value”
dest = “T HK2 Sued Vorlaufsolltemperatur”
[[processors.rename.replace]]
field = “Data_Logging Analog_2_Value_Value”
dest = “Betriebsstunden K1 Stufe 1 Tageszaehler”
[[processors.rename.replace]]
field = “Data_Logging Analog_3_Value_Value”
dest = “Betriebsstunden K1 Stufe 2 Tageszaehler”
[[processors.rename.replace]]
field = “Data_Logging Analog_4_Value_Value”
dest = “Brennerstarts K1 Stufe 1 Tageszaehler”
[[processors.rename.replace]]
field = “Data_Logging Analog_5_Value_Value”
dest = “Brennerstarts K1 Stufe 2 Tageszaehler”
[[processors.rename.replace]]
field = “Data_Logging Analog_6_Value_Value”
dest = “Betriebsstunden K2 Stufe 1 Tageszaehler”
[[processors.rename.replace]]
field = “Data_Logging Analog_7_Value_Value”
dest = “Betriebsstunden K2 Stufe 2 Tageszaehler”
[[processors.rename.replace]]
field = “Data_Logging Analog_8_Value_Value”
dest = “Brennerstarts K2 Stufe 1 Tageszaehler”
[[processors.rename.replace]]
field = “Data_Logging Analog_9_Value_Value”
dest = “Brennerstarts K2 Stufe 2 Tageszaehler”

By calling the URL (directly with a browser) with the appropriate parameters I get the following output

{ “Header”:{ “Version”:7, “Device”:“87”, “Timestamp”:1703732505 }, “Data”:{ “Inputs”:[ { “Number”:1, “AD”:“A”, “Value”:{ “Value”:40.5, “Unit”:“1” } }, { “Number”:2, “AD”:“A”, “Value”:{ “Value”:40.3, “Unit”:“1” } }, { “Number”:3, “AD”:“A”, “Value”:{ “Value”:21.4, “Unit”:“1” } }, { “Number”:4, “AD”:“A”, “Value”:{ “Value”:21.2, “Unit”:“1” } }, { “Number”:5, “AD”:“A”, “Value”:{ “Value”:50.4, “Unit”:“1” } }, { “Number”:6, “AD”:“A”, “Value”:{ “Value”:51.5, “Unit”:“1” } }, { “Number”:7, “AD”:“A”, “Value”:{ “Value”:50.5, “Unit”:“1” } }, { “Number”:9, “AD”:“A”, “Value”:{ “Value”:23.3, “Unit”:“1” } }, { “Number”:10, “AD”:“A”, “Value”:{ “Value”:10.2, “Unit”:“1” } }, { “Number”:15, “AD”:“D”, “Value”:{ “Value”:0, “Unit”:“43” } }, { “Number”:16, “AD”:“D”, “Value”:{ “Value”:0, “Unit”:“43” } }], “Outputs”:[ { “Number”:1, “AD”:“D”, “Value”:{ “Value”:1, “Unit”:“43” } }, { “Number”:2, “AD”:“D”, “Value”:{ “Value”:1, “Unit”:“43” } }, { “Number”:12, “AD”:“D”, “Value”:{ “Value”:0, “Unit”:“43” } }, { “Number”:13, “AD”:“D”, “Value”:{ “Value”:0, “Unit”:“43” } }, { “Number”:14, “AD”:“D”, “Value”:{ “Value”:0, “Unit”:“43” } }, { “Number”:15, “AD”:“D”, “Value”:{ “Value”:0, “Unit”:“43” } }], “DL-Bus”:[ { “Number”:1, “AD”:“A”, “Value”:{ “Value”:24.3, “Unit”:“1” } }, { “Number”:2, “AD”:“A”, “Value”:{ “Value”:79.4, “Unit”:“1” } }], “Logging Analog”:[ { “Number”:21, “AD”:“A”, “Value”:{ “Value”:40.0, “Unit”:“1” } }, { “Number”:22, “AD”:“A”, “Value”:{ “Value”:40.0, “Unit”:“1” } }, { “Number”:30, “AD”:“A”, “Value”:{ “Value”:0, “Unit”:“4” } }, { “Number”:31, “AD”:“A”, “Value”:{ “Value”:0, “Unit”:“4” } }, { “Number”:32, “AD”:“A”, “Value”:{ “Value”:0, “Unit”:“17” } }, { “Number”:33, “AD”:“A”, “Value”:{ “Value”:0, “Unit”:“17” } }, { “Number”:34, “AD”:“A”, “Value”:{ “Value”:3685, “Unit”:“4” } }, { “Number”:35, “AD”:“A”, “Value”:{ “Value”:0, “Unit”:“4” } }, { “Number”:36, “AD”:“A”, “Value”:{ “Value”:22, “Unit”:“17” } }, { “Number”:37, “AD”:“A”, “Value”:{ “Value”:0, “Unit”:“17” } }]}, “Status”:“OK”, “Status code”:0 }

TA CMI json API
https://www.ta.co.at/download/datei/1751/

I just don’t want to have the column (url) with the “http://…” in the database.

Do you have any suggestions to adapt this accordingly or an alternative and better solution?

Thank you very much for your support.

Would fieldexclude from telegraf/docs/CONFIGURATION.md at master · influxdata/telegraf · GitHub work for you?

1 Like

Hello,

thanks for your feedback.
Unfortunately it didn’t work with fieldexclude.

But the direction fits - tagexclude works.

Perfect, thank you very much.