smartREST模板:自定义度量不显示为Datapoint

时间:2018-07-03 15:31:23

标签: cumulocity

我通过“设备管理-> 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发送具有预期格式的自定义度量?

谢谢

1 个答案:

答案 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"
      }
   }
}

请注意,测量值始终是数字,此处使用基于字符串的值可能会再次导致不良行为。

如果您要传达基于字符串的状态变量,通常发送事件或警报是一种更好的方法。

用于发送此类测量值的模板配置应如下所示:enter image description here