Cumulocity smarREST响应模板

时间:2018-01-25 02:28:02

标签: mqtt cumulocity

我正在尝试设置Cumulocity smartREST响应模板,以便从应用程序存储的设备对象中提供信息。我认为这是不可能的,但我想确认一下,因为文件很简短而且不清楚。

我之前已成功实施了MEASUREMENT POST模板,但我现在正尝试进行INVENTORY GET。我在设备对象中设置了一些值,我可以从tenant.cumulocity.com/inventory/managedObjects/id/看到它们。这看起来像是:

"custom_values": {
    "val1": "abcde",
    "val2": "fghij"
}

现在我转到smartREST模板Web界面编辑器并创建一个模板(例如t1)并设置一条消息(例如m001)并将其设置为' inventory'和'得到'并打勾'包括回复'。我不确定我是否需要自定义字段。然后我创建一个响应(例如r001),我现在必须用条件和一些其他模式填充基本模式。我假设在其中一个字段中我有$ .custom_values.val1等,但我尝试的所有排列导致无法访问对象'主题错误' s / e'。

我的理想结果(来自上面的例子)将发布到' / s / uc / t1'用' m001'并收到' r001,abcde' (即custom_values.val1)并发布' m002'并收到' r001,fghij' (即custom_values.val2)。

感谢您花时间阅读。

1 个答案:

答案 0 :(得分:1)

您的方法是正确的,但您的MQTT用户可能只是缺少对象的权限,因为它是由应用程序创建的(我猜mqtt客户端是设备用户)。 这里最好的方法是从app应用片段c8y_Global

创建这个对象
{
    "name": "testObject3", 
    "c8y_Global": {},
    "custom_values": {
        "val1": "abcde",
        "val2": "fghij"
    }
}

此片段将使此对象可供所有注册用户使用。这是应用元数据的常见做法。