Unable to receive NaN or INFINITY value via SparkPlug

Some of our SparkPlug edge devices use float values of not-a-number (NaN) or infinity to indicate soft-fault conditions on individual metrics. The MQTT Engine module seems to receive and understand these values properly, but when they are handed off to Ignition, we get Java exceptions at ERROR level in the log:

When I look at the tags in Ignition, they have a value of NULL and a quality of “Error”.

This isn’t a horrible outcome since it’s not showing an incorrect value and the tag isn’t “Good” quality, but the log is filling up with message at ERROR level and it would be nice if we could see whether the value received was NaN or INFINITY without having to look in the server log.

I chatted with CirrusLink a bit and they are aware of this but didn’t have any suggestions on how to quiet the logs.

Does anyone on the forum have any suggestions?

This definitely seems like something we could add on our end. (Unfortunately, I don’t see a way for you to quiet the logs yourself.) I’ll make a ticket for it.

1 Like