Невозможно отправить данные Southbound в Fiware IoTAgent LWM2M
При подготовке примера устройства Robot сущности создаются с атрибутами position_info и position_status, но атрибут update Position в Orion выдает ошибку.
{"code": "404", "reasonPhrase": "No context element found", "details": "error forwarding update" }
Требование предоставления устройства:
curl --location --request POST 'localhost:4041/iot/devices' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'fiware-service: factory' \
--header 'fiware-servicepath: /robots' \
--data-raw '{
"devices": [
{
"device_id": "robot1",
"entity_type": "Robot",
"entity_name": "robot01",
"endpoint": "http://iot-sensors:3001/iot/robot",
"attributes": [
{
"name": "Battery",
"type": "number"
}
],
"lazy": [
{
"name": "Message",
"type": "string"
}
],
"commands": [
{
"name": "Position",
"type": "location"
}
],
"internal_attributes": {
"lwm2mResourceMapping": {
"Battery" : {
"objectType": 7392,
"objectInstance": 0,
"objectResource": 1
},
"Message" : {
"objectType": 7392,
"objectInstance": 0,
"objectResource": 2
},
"Position" : {
"objectType": 7392,
"objectInstance": 0,
"objectResource": 3
}
}
}
}
]
}'
И запрос контекста обновления:
curl --location --request POST 'http://localhost:1026/v1/updateContext' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'fiware-service: factory' \
--header 'fiware-servicepath: /robots' \
--data-raw '{
"contextElements": [
{
"type": "Robot",
"isPattern": "false",
"id": "Robot:robot1",
"attributes": [
{
"name": "Position",
"type": "location",
"value": "[18,3]"
}
]
}
],
"updateAction": "UPDATE"
}'
Согласно документации, это действие должно запускать действие Execute в клиенте. Он также должен обновить поле «_status» объекта со значением «PENDING», указав, что выполнение ожидает результата клиента.
Я также пытался обновить атрибут Position, используя v2, но не работал:
curl --location --request PATCH
'http://localhost:1026/v2/entities/robot01/attrs/' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'fiware-service: factory' \
--header 'fiware-servicepath: /robots' \
-d '{
"Position": {
"type" : "location",
"value" : "[18,3]"
}
}'