我通过“设备管理-> smartREST模板”创建了一个用于测量的smartREST模板。我通过MQTT发送读数:
s/uc/mytemplateID
777,123,stringValue
消息到达是因为我可以通过API看到它:
{
"time":"2018-07-03T15:36:13.237+01:00",
"id":"47638",
"self":"https://myDomain.mydomain/measurement/measurements/47638",
"source":{
"id":"20018",
"self":"https://myDomain.mydomain/inventory/managedObjects/20018"
},
"type":"myType",
"myStrValue":"stringValue",
"myNumberValue":123
}
但是我不能将其视为数据点。 我也无法在“设备管理->所有设备-> myDevice->测量”下看到它 如果原因是传入消息不具有预期格式,那么问题是,我该如何使用MQTT发送具有预期格式的自定义度量?
谢谢
答案 0 :(得分:2)
要在测量中使用Cumulocity标准功能,它们必须遵守特定标准。转换您的模板以创建如下测量结果:
{
"time":"2018-07-03T15:36:13.237+01:00",
"id":"47638",
"self":"https://myDomain.mydomain/measurement/measurements/47638",
"source":{
"id":"20018",
"self":"https://myDomain.mydomain/inventory/managedObjects/20018"
},
"type":"myType",
"myFragment":{
"mySeries":{
"value":123,
"unit":"aUnit"
},
"myOtherSeries":{
"value":321,
"unit":"anotherUnit"
}
}
}
请注意,测量值始终是数字,此处使用基于字符串的值可能会再次导致不良行为。
如果您要传达基于字符串的状态变量,通常发送事件或警报是一种更好的方法。