I have an MQTT client in C# using MQTTnet
and it’s listening to an MQTT broker which uses SparkPlug B
.
I get the following messages at spBv1.0/ClientEU1/DDATA/27352352/HART0 :
{
"timestamp" : 1722602588274,
"metrics" : [ {
"alias" : 140,
"timestamp" : 1722602588274,
"dataType" : "Float",
"value" : 10.798176
}, {
"alias" : 141,
"timestamp" : 1722602588274,
"dataType" : "Float",
"value" : 89.23861
}, {
"alias" : 143,
"timestamp" : 1722602588274,
"dataType" : "Float",
"value" : 11.935791
}, {
"alias" : 147,
"timestamp" : 1722602588274,
"dataType" : "Float",
"value" : 21.064209
} ],
"seq" : 56
}
and this one at spBv1.0/ClientEU1/NDATA/27352352
{
"timestamp" : 1722602588274,
"metrics" : [ {
"alias" : 31,
"timestamp" : 1722602588274,
"dataType" : "Float",
"value" : -15.5
}, {
"alias" : 39,
"timestamp" : 1722602588274,
"dataType" : "UInt32",
"value" : 10766
}, {
"alias" : 75,
"timestamp" : 1722602588274,
"dataType" : "Float",
"value" : -0.06145418
}, {
"alias" : 76,
"timestamp" : 1722602588274,
"dataType" : "Float",
"value" : -0.06145418
} ],
"seq" : 57
}
- Given that the metrics have aliases, how can I find out the names of these aliases?
- Should I use
DCMD
andNCMD
to doREBIRTH
? How should I do it inMQTTnet
if that’s the approach to get the details of the metrics?