无法在IoT代理Fiware中注册命令



我使用的是直接运行Ultralight的IoT代理(而不是作为码头化组件(。我可以注册新设备,它映射在Orion上下文代理中。然而,我在注册致动器时遇到了一个问题,这需要在配置数据中输入命令。我使用:

curl -iX POST 
'http://MYIP:4061/iot/devices' 
-H 'Content-Type: application/json' 
-H 'fiware-service: openiot' 
-H 'fiware-servicepath: /' 
-d '{
"devices": [
{
"device_id": "lamp003",
"entity_name": "urn:ngsi-ld:Lamp:003",
"entity_type": "Lamp",
"protocol": "PDI-IoTA-UltraLight",
"transport": "MQTT",
"commands": [
{"name": "on","type": "command"},
{"name": "off","type": "command"}
]}
]
}

作为回应,我受到了打击:

op=IoTAgenNGSI。设备设置|from=n/a|srv=n/a| subsrv=n/a|msg=由于以下错误,设备设置失败:|comp=IoTAgent请求连接到上下文代理时出错:{"代码":"400","推理短语":"错误请求","详细信息":"缺少isDomain注册属性"}"的值

我尝试添加";isDomain":"false";到命令表的元素,但没有运气。它以前也工作过,而且官方指南中也提供了类似的解决方案。

isDomain已弃用NGSI-v1语法的一部分。它不用于NGSI-v2INGSI-LD

我认为您可能正在以NGSI-v1的身份运行物联网代理。您需要在config.js中设置contextBroker.ngsiVersion,或者在Docker或Docker compose中设置以下Env变量。

IOTA_CB_NGSI_VERSION=v2
config.js
{
host: '192.168.56.101',
port: '1026',
ngsiVersion: 'v2'
}

相关内容

  • 没有找到相关文章

最新更新