2017-07-17 70 views
0

我对Cumulocity来说是个新手,我正尝试使用mqtt和smartrest模板从我自己的设备中获取数据到平台中。我可以使用静态模板获取数据,但它们只支持某些数据类型。我正在努力在UI中创建适当的smartrest模板,并且文档没有详细介绍。cumulocity mqtt测量

我得到模板名称在s/ut/template_name中的MQTT主题中(或在登录时作为用户名的一部分选择),并且模板中消息的messageId与第一个CSV字段匹配MQTT发布有效负载。我没有得到的是模板术语。在UI中,我选择API->度量和方法 - > POST,并且提供了所需的值$ .type和$ .time。我的问题:

  • 是$ .type是“测量片段类型”的名称还是必须将其设置为“c8y_CustomMeasurement”?我可以随意调用它吗?
  • $ .time有一个值字段。如果发布中没有提供默认值,这是否是默认值?
  • 我假设我需要在可选的API值中添加一个数值。要将它链接到数据点的值,我应该使关键字“c8y_CustomMeasurement.custom.value”?
  • 我在这里的基地吗?

每次我发布到我自己的smartrest模板的服务器断开连接,所以我认为在我的模板设置了一个错误,但我没有看到访问调试消息(也没什么发布回到我的方式在s/e或s/dt上)。

为了举例说明,假设我希望发布带有有效载荷格式“mId,ts,value”的无单位时间戳脉冲计数,示例数据为“p01”,2017-07-17 12:34:00 ”,1234"

回答

0

你写的是什么,到目前为止大多是正确的刚需多一点精确:

  • 主题是S/UC/template_id(不是模板名称,这仅仅是一个标签)
  • $ .type引用测量JSON中的'type'片段。这是一个免费的文本字段
  • 在99%的情况下,您希望将$ .time保留为空。如果你在这里设置了它,它不是默认的,但是固定到那个时间戳,并且你在使用模板时不能改变它。如果你把它空,但仍不能在
  • 实例送东西:不发送时间00,1234(不包括引号arounf时间戳和ISO8601格式
  • 例:p01,2017-07-17T12:34 P01,1234(发送如在服务器时间的时间结果beeing设置为空字符串,模板是一样的)

希望这些要点帮您找到您发出

+0

我必须纠正我的职务。题目是S/UC/..不是s/ut/... – TyrManuZ

+0

也许值得一提的是s/ut/...用于注册设备中的模板。 –

+0

感谢您的帮助,我终于破解了它。为有这个问题的下一个人。如果您张贴到错误的模板ID(我使用5位数字ID,但正确的是您在创建时输入的字符串),服务器将丢弃连接。除非测量对象具有正确的格式,否则这些值不会形成图形。您可以在tenant.cumuloicty.com/measurement/measurements中查看可绘制或不可绘制的所有度量。对于值和单位字段,您应该将关键字设置为graph_title.series.value和graph_title.series.units – sgse