Hi!
I’m running [[input.mqtt_consumer]] with values of all flavour, like string, int, float bool etc.
Before importing into influxdb, a small series of processors are applied, like [[processors.enum]] converting bool values to 0/1 and [[processors.converter]], converting everything convertable (int, float, former boolean) to float. String should remain untouched.
As a result, everything convertable is converted into float (fine), but string values are dropped (not good).
Desired behaviour:
“ignore”: everything not convertable won’t be converted but kept as it is
“warn”: like ignore, but with a warning message in the log
“error”: as today
Ideally, these options should be applicable per field.
If the same behaviour could be achieved otherwise, I’d be glad to learn…
This is an excerpt from my telegraf.conf
[[inputs.mqtt_consumer]]
alias = "mqtt_consumer_value_1"
client_id = "telegraf_value_1"
servers = ["tcp://127.0.0.1:1883"]
username = "uuuu"
password = "pppp",
name_override = "logdata" # measurement
data_format = "value"
data_type = "string"
topic_tag = "addr" # tag, instead of "topic"
topics = [
"openDTU/#",
]
"
[[processors.enum]]
order = 1
namepass = [ "logdata" ]
[[processors.enum.mapping]]
field = "value"
[processors.enum.mapping.value_mappings]
on = 1
On = 1
[[processors.converter]]
order = 3
[processors.converter.fields]
float = [ "value" ]
Thank you in advance
Josef