Details
-
Type: Monitor
-
Status: Closed
-
Priority: Major
-
Resolution: Done
-
Affects Version/s: None
-
Fix Version/s: 2021
-
Component/s: FIWARE-TECH-HELP
-
Labels:
-
HD-Chapter:IoT
-
HD-Enabler:IDAS
Description
Created question in FIWARE Q/A platform on 06-03-2017 at 20:03
Please, ANSWER this question AT https://stackoverflow.com/questions/42633821/fiware-orion-context-broker-and-iotagentul-command-issue
Question:
Fiware Orion context broker and iotagentUL command issue
Description:
I'm a Fiware user and i deployed an orion context broker GE , cepheus GE and an iotagent-ul instances in different VMs on cloud. I have registered a device in the iot agent specifying a command attribute in the register request and its corresponding entity was created in the context broker on the registration process.
Now when i register a device with its attributes and the command attribute
with its name and type , the device is registered on the iot agent and its entity is also created in the context broker . But the strange thing that happens is that the command attribute is only translated into its special attributes which are the commandName_info and commandName_status but the command attribute itself is not shown among them in the registration
result in the iot agent logs .In addition, when i do an update operation on the command attribute in the Orion context broker , the attribute is not recognized and the update fails as the command attribute is missing in the entitiy itself . And the registration process is as follows:
this is the registration request that i send :
(curl v -H 'content-type: application/json' -H 'fiware-service: ourservicename' -H 'fiware-servicepath: /ourservicpath' -X POST 'http://iotagentULaddress:8080/iot/devices' -d @ ) << EOF
{
"`devices`": [
{
"device_id": "controller12",
"entity_name": "labcontroller12",
"entity_type": "Controller",
"isPattern" :"false",
"protocol": "IoTA-UL",
"timezone": "Egypt/Cairo",
"endpoint": "http://iotagentULaddress:8080",
"attributes": [
],
"commands": [
]
}]
}
EOF
And this is the registration result in the iot agent's logs showing the registered entity and how it is created in the context broker:
time=2017-03-06T18:10:56.335Z | lvl=DEBUG | corr=dee16709-4b99-4336-b23a-722878a8b628 | trans=dee16709-4b99-4336-b23a-722878a8b628 | op=IoTAgentNGSI.ContextServer | srv=n/a | subsrv=n/a | msg=Successfully subscribed to the following topics:
["/+/+/attrs/+","/+/+/attrs","/+/+/cmdexe"]
comp=IoTAgent
{"op":"IOTAUL.Executable","time":"2017-03-06T18:10:56.427Z","lvl":"INFO","msg":"Ultralight 2.0 IoT Agent started"}
time=2017-03-06T18:12:14.459Z |
lvl=DEBUG | corr=2d54c696-7c62-454a-bdf2-5fb289f53e28 | trans=2d54c696-7c62-454a-bdf2-5fb289f53e28 | op=IoTAgentNGSI.GenericMiddlewares | srv=hi | subsrv=/hi | msg=Request for path [/iot/devices] from [217.172.12.190:8080] | comp=IoTAgent time=2017-03-06T18:12:14.460Z |
lvl=DEBUG | corr=2d54c696-7c62-454a-bdf2-5fb289f53e28 | trans=2d54c696-7c62-454a-bdf2-5fb289f53e28 | op=IoTAgentNGSI.GenericMiddlewares | srv=hi | subsrv=/hi | msg=Body: |
{
"devices": [
{
"device_id": "controller12",
"entity_name": "labcontroller12",
"entity_type": "Controller",
"isPattern": "false",
"protocol": "IoTA-UL",
"timezone": "Egypt/Cairo",
"endpoint": "http://217.172.12.190:8080",
"attributes": [
],
"commands": [
]
}
]
}
comp=IoTAgent time=2017-03-06T18:12:14.463Z |
lvl=DEBUG | corr=2d54c696-7c62-454a-bdf2-5fb289f53e28 | trans=2d54c696-7c62-454a-bdf2-5fb289f53e28 | op=IoTAgentNGSI.DeviceProvisioning | srv=hi | subsrv=/hi | msg=Handling device provisioning request. | comp=IoTAgent time=2017-03-06T18:12:14.464Z |
lvl=DEBUG | corr=2d54c696-7c62-454a-bdf2-5fb289f53e28 | trans=2d54c696-7c62-454a-bdf2-5fb289f53e28 | op=IoTAgentNGSI.MongoDBGroupRegister | srv=hi | subsrv=/hi | msg=Looking for entity params undefined | comp=IoTAgent Mongoose: mpromise (mongoose's default promise library) is deprecated, plug in your own promise library instead: http://mongoosejs.com/docs/promises.html time=2017-03-06T18:12:14.473Z |
lvl=DEBUG | corr=2d54c696-7c62-454a-bdf2-5fb289f53e28 | trans=2d54c696-7c62-454a-bdf2-5fb289f53e28 | op=IoTAgentNGSI.MongoDBGroupRegister | srv=hi | subsrv=/hi | msg=Device group for fields [undefined] not found: [{"undefined":"Controller"}] | comp=IoTAgent time=2017-03-06T18:12:14.473Z |
lvl=DEBUG | corr=2d54c696-7c62-454a-bdf2-5fb289f53e28 | trans=2d54c696-7c62-454a-bdf2-5fb289f53e28 | op=IoTAgentNGSI.BidirectionalPlugin | srv=hi | subsrv=/hi | msg=Extracting attribute list | comp=IoTAgent time=2017-03-06T18:12:14.473Z |
lvl=DEBUG | corr=2d54c696-7c62-454a-bdf2-5fb289f53e28 | trans=2d54c696-7c62-454a-bdf2-5fb289f53e28 | op=IoTAgentNGSI.BidirectionalPlugin | srv=hi | subsrv=/hi | msg=Sending bidirectionality subscriptions for device [controller12] | comp=IoTAgent time=2017-03-06T18:12:14.474Z |
lvl=DEBUG | corr=2d54c696-7c62-454a-bdf2-5fb289f53e28 | trans=2d54c696-7c62-454a-bdf2-5fb289f53e28 | op=IoTAgentNGSI.MongoDBGroupRegister | srv=hi | subsrv=/hi | msg=Looking for bindings for the function [deviceProvisioningHandler] and protocol [null] | comp=IoTAgent time=2017-03-06T18:12:14.474Z |
lvl=DEBUG | corr=2d54c696-7c62-454a-bdf2-5fb289f53e28 | trans=2d54c696-7c62-454a-bdf2-5fb289f53e28 | op=IoTAgentNGSI.MongoDBGroupRegister | srv=hi | subsrv=/hi | msg=Binding found for function [deviceProvisioningHandler] and protocol [null] | comp=IoTAgent time=2017-03-06T18:12:14.475Z |
lvl=DEBUG | corr=2d54c696-7c62-454a-bdf2-5fb289f53e28 | trans=2d54c696-7c62-454a-bdf2-5fb289f53e28 | op=IoTAgentNGSI.MongoDBDeviceRegister | srv=hi | subsrv=/hi | msg=Looking for entity with id [controller12]. | comp=IoTAgent time=2017-03-06T18:12:14.476Z |
lvl=DEBUG | corr=2d54c696-7c62-454a-bdf2-5fb289f53e28 | trans=2d54c696-7c62-454a-bdf2-5fb289f53e28 | op=IoTAgentNGSI.MongoDBDeviceRegister | srv=hi | subsrv=/hi | msg=Entity [controller12] not found. | comp=IoTAgent time=2017-03-06T18:12:14.477Z |
lvl=ERROR | corr=2d54c696-7c62-454a-bdf2-5fb289f53e28 | trans=2d54c696-7c62-454a-bdf2-5fb289f53e28 | op=IoTAgentNGSI.Alarms | srv=hi | subsrv=/hi | msg=Raising [MONGO-ALARM]: undefined | comp=IoTAgent time=2017-03-06T18:12:14.477Z |
lvl=DEBUG | corr=2d54c696-7c62-454a-bdf2-5fb289f53e28 | trans=2d54c696-7c62-454a-bdf2-5fb289f53e28 | op=IoTAgentNGSI.MongoDBGroupRegister | srv=hi | subsrv=/hi | msg=Looking for entity params undefined | comp=IoTAgent time=2017-03-06T18:12:14.478Z |
lvl=DEBUG | corr=2d54c696-7c62-454a-bdf2-5fb289f53e28 | trans=2d54c696-7c62-454a-bdf2-5fb289f53e28 | op=IoTAgentNGSI.MongoDBGroupRegister | srv=hi | subsrv=/hi | msg=Device group for fields [undefined] not found: [{"undefined":"Controller"}] | comp=IoTAgent time=2017-03-06T18:12:14.479Z |
lvl=DEBUG | corr=2d54c696-7c62-454a-bdf2-5fb289f53e28 | trans=2d54c696-7c62-454a-bdf2-5fb289f53e28 | op=IoTAgentNGSI.DeviceService | srv=hi | subsrv=/hi | msg=Registering device into NGSI Service: { "id": "controller12", "type": "Controller", "name": "labcontroller12", "service": "hi", "subservice": "/hi", "active": [ { "object_id": "n", "name": "number", "type": "string" } ], ], |
comp=IoTAgent time=2017-03-06T18:12:14.480Z |
lvl=DEBUG | corr=2d54c696-7c62-454a-bdf2-5fb289f53e28 | trans=2d54c696-7c62-454a-bdf2-5fb289f53e28 | op=IoTAgentNGSI.DeviceService | srv=hi | subsrv=/hi | msg=Sending device registrations to Context Broker at http://147.27.60.58:1026/NGSI9/registerContext | comp=IoTAgent time=2017-03-06T18:12:14.480Z |
lvl=DEBUG | corr=2d54c696-7c62-454a-bdf2-5fb289f53e28 | trans=2d54c696-7c62-454a-bdf2-5fb289f53e28 | op=IoTAgentNGSI.DeviceService | srv=hi | subsrv=/hi | msg=Using the following request: |
{
"url": "http://147.27.60.58:1026/NGSI9/registerContext",
"method": "POST",
"json": {
"contextRegistrations": [
{
"entities": [
],
"attributes": [
],
"providingApplication": "http://localhost:4061"
}
],
"duration": "P1Y"
},
"headers":
}
comp=IoTAgent time=2017-03-06T18:12:14.701Z |
lvl=DEBUG | corr=2d54c696-7c62-454a-bdf2-5fb289f53e28 | trans=2d54c696-7c62-454a-bdf2-5fb289f53e28 | op=IoTAgentNGSI.DeviceService | srv=hi | subsrv=/hi | msg=Registration success. | comp=IoTAgent time=2017-03-06T18:12:14.702Z |
lvl=DEBUG | corr=2d54c696-7c62-454a-bdf2-5fb289f53e28 | trans=2d54c696-7c62-454a-bdf2-5fb289f53e28 | op=IoTAgentNGSI.DeviceService | srv=hi | subsrv=/hi | msg=Creating initial entity in the Context Broker: { "url": "http://147.27.60.58:1026/v1/updateContext", "method": "POST", "json": { "contextElements": [ Unknown macro: { "type"}
], } |
comp=IoTAgent time=2017-03-06T18:12:14.915Z |
lvl=DEBUG | corr=2d54c696-7c62-454a-bdf2-5fb289f53e28 | trans=2d54c696-7c62-454a-bdf2-5fb289f53e28 | op=IoTAgentNGSI.DeviceService | srv=hi | subsrv=/hi | msg=Initial entity created successfully. | comp=IoTAgent time=2017-03-06T18:12:14.920Z |
lvl=DEBUG | corr=2d54c696-7c62-454a-bdf2-5fb289f53e28 | trans=2d54c696-7c62-454a-bdf2-5fb289f53e28 | op=IoTAgentNGSI.MongoDBDeviceRegister | srv=hi | subsrv=/hi | msg=Storing device with id [controller12] and type [Controller] | comp=IoTAgent time=2017-03-06T18:12:14.930Z |
lvl=ERROR | corr=2d54c696-7c62-454a-bdf2-5fb289f53e28 | trans=2d54c696-7c62-454a-bdf2-5fb289f53e28 | op=IoTAgentNGSI.Alarms | srv=hi | subsrv=/hi | msg=Releasing [MONGO-ALARM] | comp=IoTAgent time=2017-03-06T18:12:14.931Z |
lvl=DEBUG | corr=2d54c696-7c62-454a-bdf2-5fb289f53e28 | trans=2d54c696-7c62-454a-bdf2-5fb289f53e28 | op=IoTAgentNGSI.DeviceProvisioning | srv=hi | subsrv=/hi | msg=Device provisioning request succeeded | comp=IoTAgent time=2017-03-06T18:12:14.933Z |
lvl=DEBUG | corr=2d54c696-7c62-454a-bdf2-5fb289f53e28 | trans=2d54c696-7c62-454a-bdf2-5fb289f53e28 | op=IoTAgentNGSI.DomainControl | srv=hi | subsrv=/hi | msg=response-time: 486 | comp=IoTAgent |
It's now clear that the command attribute is not created but only its special attributes that describe the command state itself but there's no command to be updated .
So , Is my registration request composed correctly to suit the iotagen-ul instance especially for its interpretation for the command ? and how could i verify the registration correctness ? and i just want to know where the problem could lie exactly . and thanks so much.
Activity
Field | Original Value | New Value |
---|---|---|
Component/s | FIWARE-TECH-HELP [ 10278 ] |
Status | Open [ 1 ] | In Progress [ 3 ] |
Status | In Progress [ 3 ] | Answered [ 10104 ] |
Assignee | Backlog Manager [ backlogmanager ] |
HD-Enabler | IDAS [ 10884 ] | |
Description |
Created question in FIWARE Q/A platform on 06-03-2017 at 20:03 {color: red}Please, ANSWER this question AT{color} https://stackoverflow.com/questions/42633821/fiware-orion-context-broker-and-iotagentul-command-issue +Question:+ Fiware Orion context broker and iotagentUL command issue +Description:+ I'm a Fiware user and i deployed an orion context broker GE , cepheus GE and an iotagent-ul instances in different VMs on cloud. I have registered a device in the iot agent specifying a command attribute in the register request and its corresponding entity was created in the context broker on the registration process. Now when i register a device with its attributes and the command attribute with its name and type , the device is registered on the iot agent and its entity is also created in the context broker . But the strange thing that happens is that the command attribute is only translated into its special attributes which are the commandName_info and commandName_status but the command attribute itself is not shown among them in the registration result in the iot agent logs .In addition, when i do an update operation on the command attribute in the Orion context broker , the attribute is not recognized and the update fails as the command attribute is missing in the entitiy itself . And the registration process is as follows: this is the registration request that i send : (curl -v -H 'content-type: application/json' -H 'fiware-service: ourservicename' -H 'fiware-servicepath: /ourservicpath' -X POST 'http://iotagentULaddress:8080/iot/devices' -d @- ) << EOF { "`devices`": [ { "device_id": "controller12", "entity_name": "labcontroller12", "entity_type": "Controller", "isPattern" :"false", "protocol": "IoTA-UL", "timezone": "Egypt/Cairo", "endpoint": "http://iotagentULaddress:8080", "attributes": [ { "object_id": "n", "name": "number", "type": "string" }], "commands": [{ "name": "play", "type": "string" }] }] } EOF And this is the registration result in the iot agent's logs showing the registered entity and how it is created in the context broker: time=2017-03-06T18:10:56.335Z | lvl=DEBUG | corr=dee16709-4b99-4336-b23a-722878a8b628 | trans=dee16709-4b99-4336-b23a-722878a8b628 | op=IoTAgentNGSI.ContextServer | srv=n/a | subsrv=n/a | msg=Successfully subscribed to the following topics: ["/+/+/attrs/+","/+/+/attrs","/+/+/cmdexe"] | comp=IoTAgent {"op":"IOTAUL.Executable","time":"2017-03-06T18:10:56.427Z","lvl":"INFO","msg":"Ultralight 2.0 IoT Agent started"} time=2017-03-06T18:12:14.459Z | lvl=DEBUG | corr=2d54c696-7c62-454a-bdf2-5fb289f53e28 | trans=2d54c696-7c62-454a-bdf2-5fb289f53e28 | op=IoTAgentNGSI.GenericMiddlewares | srv=hi | subsrv=/hi | msg=Request for path [/iot/devices] from [217.172.12.190:8080] | comp=IoTAgent time=2017-03-06T18:12:14.460Z | lvl=DEBUG | corr=2d54c696-7c62-454a-bdf2-5fb289f53e28 | trans=2d54c696-7c62-454a-bdf2-5fb289f53e28 | op=IoTAgentNGSI.GenericMiddlewares | srv=hi | subsrv=/hi | msg=Body: { "devices": [ { "device_id": "controller12", "entity_name": "labcontroller12", "entity_type": "Controller", "isPattern": "false", "protocol": "IoTA-UL", "timezone": "Egypt/Cairo", "endpoint": "http://217.172.12.190:8080", "attributes": [ { "object_id": "n", "name": "number", "type": "string" } ], "commands": [ { "object_id": "s", "name": "play", "type": "string" } ] } ] } | comp=IoTAgent time=2017-03-06T18:12:14.463Z | lvl=DEBUG | corr=2d54c696-7c62-454a-bdf2-5fb289f53e28 | trans=2d54c696-7c62-454a-bdf2-5fb289f53e28 | op=IoTAgentNGSI.DeviceProvisioning | srv=hi | subsrv=/hi | msg=Handling device provisioning request. | comp=IoTAgent time=2017-03-06T18:12:14.464Z | lvl=DEBUG | corr=2d54c696-7c62-454a-bdf2-5fb289f53e28 | trans=2d54c696-7c62-454a-bdf2-5fb289f53e28 | op=IoTAgentNGSI.MongoDBGroupRegister | srv=hi | subsrv=/hi | msg=Looking for entity params undefined | comp=IoTAgent Mongoose: mpromise (mongoose's default promise library) is deprecated, plug in your own promise library instead: http://mongoosejs.com/docs/promises.html time=2017-03-06T18:12:14.473Z | lvl=DEBUG | corr=2d54c696-7c62-454a-bdf2-5fb289f53e28 | trans=2d54c696-7c62-454a-bdf2-5fb289f53e28 | op=IoTAgentNGSI.MongoDBGroupRegister | srv=hi | subsrv=/hi | msg=Device group for fields [undefined] not found: [{"undefined":"Controller"}] | comp=IoTAgent time=2017-03-06T18:12:14.473Z | lvl=DEBUG | corr=2d54c696-7c62-454a-bdf2-5fb289f53e28 | trans=2d54c696-7c62-454a-bdf2-5fb289f53e28 | op=IoTAgentNGSI.BidirectionalPlugin | srv=hi | subsrv=/hi | msg=Extracting attribute list | comp=IoTAgent time=2017-03-06T18:12:14.473Z | lvl=DEBUG | corr=2d54c696-7c62-454a-bdf2-5fb289f53e28 | trans=2d54c696-7c62-454a-bdf2-5fb289f53e28 | op=IoTAgentNGSI.BidirectionalPlugin | srv=hi | subsrv=/hi | msg=Sending bidirectionality subscriptions for device [controller12] | comp=IoTAgent time=2017-03-06T18:12:14.474Z | lvl=DEBUG | corr=2d54c696-7c62-454a-bdf2-5fb289f53e28 | trans=2d54c696-7c62-454a-bdf2-5fb289f53e28 | op=IoTAgentNGSI.MongoDBGroupRegister | srv=hi | subsrv=/hi | msg=Looking for bindings for the function [deviceProvisioningHandler] and protocol [null] | comp=IoTAgent time=2017-03-06T18:12:14.474Z | lvl=DEBUG | corr=2d54c696-7c62-454a-bdf2-5fb289f53e28 | trans=2d54c696-7c62-454a-bdf2-5fb289f53e28 | op=IoTAgentNGSI.MongoDBGroupRegister | srv=hi | subsrv=/hi | msg=Binding found for function [deviceProvisioningHandler] and protocol [null] | comp=IoTAgent time=2017-03-06T18:12:14.475Z | lvl=DEBUG | corr=2d54c696-7c62-454a-bdf2-5fb289f53e28 | trans=2d54c696-7c62-454a-bdf2-5fb289f53e28 | op=IoTAgentNGSI.MongoDBDeviceRegister | srv=hi | subsrv=/hi | msg=Looking for entity with id [controller12]. | comp=IoTAgent time=2017-03-06T18:12:14.476Z | lvl=DEBUG | corr=2d54c696-7c62-454a-bdf2-5fb289f53e28 | trans=2d54c696-7c62-454a-bdf2-5fb289f53e28 | op=IoTAgentNGSI.MongoDBDeviceRegister | srv=hi | subsrv=/hi | msg=Entity [controller12] not found. | comp=IoTAgent time=2017-03-06T18:12:14.477Z | lvl=ERROR | corr=2d54c696-7c62-454a-bdf2-5fb289f53e28 | trans=2d54c696-7c62-454a-bdf2-5fb289f53e28 | op=IoTAgentNGSI.Alarms | srv=hi | subsrv=/hi | msg=Raising [MONGO-ALARM]: undefined | comp=IoTAgent time=2017-03-06T18:12:14.477Z | lvl=DEBUG | corr=2d54c696-7c62-454a-bdf2-5fb289f53e28 | trans=2d54c696-7c62-454a-bdf2-5fb289f53e28 | op=IoTAgentNGSI.MongoDBGroupRegister | srv=hi | subsrv=/hi | msg=Looking for entity params undefined | comp=IoTAgent time=2017-03-06T18:12:14.478Z | lvl=DEBUG | corr=2d54c696-7c62-454a-bdf2-5fb289f53e28 | trans=2d54c696-7c62-454a-bdf2-5fb289f53e28 | op=IoTAgentNGSI.MongoDBGroupRegister | srv=hi | subsrv=/hi | msg=Device group for fields [undefined] not found: [{"undefined":"Controller"}] | comp=IoTAgent time=2017-03-06T18:12:14.479Z | lvl=DEBUG | corr=2d54c696-7c62-454a-bdf2-5fb289f53e28 | trans=2d54c696-7c62-454a-bdf2-5fb289f53e28 | op=IoTAgentNGSI.DeviceService | srv=hi | subsrv=/hi | msg=Registering device into NGSI Service: { "id": "controller12", "type": "Controller", "name": "labcontroller12", "service": "hi", "subservice": "/hi", "active": [ { "object_id": "n", "name": "number", "type": "string" } ], "staticAttributes": [], "lazy": null, "commands": [ { "object_id": "s", "name": "play", "type": "string" } ], "timezone": "Egypt/Cairo", "endpoint": "http://217.172.12.190:8080", "protocol": "IoTA-UL", "transport": "HTTP", "internalId": null, "subscriptions": [], "polling": false } | comp=IoTAgent time=2017-03-06T18:12:14.480Z | lvl=DEBUG | corr=2d54c696-7c62-454a-bdf2-5fb289f53e28 | trans=2d54c696-7c62-454a-bdf2-5fb289f53e28 | op=IoTAgentNGSI.DeviceService | srv=hi | subsrv=/hi | msg=Sending device registrations to Context Broker at [http://147.27.60.58:1026/NGSI9/registerContext] | comp=IoTAgent time=2017-03-06T18:12:14.480Z | lvl=DEBUG | corr=2d54c696-7c62-454a-bdf2-5fb289f53e28 | trans=2d54c696-7c62-454a-bdf2-5fb289f53e28 | op=IoTAgentNGSI.DeviceService | srv=hi | subsrv=/hi | msg=Using the following request: { "url": "http://147.27.60.58:1026/NGSI9/registerContext", "method": "POST", "json": { "contextRegistrations": [ { "entities": [ { "type": "Controller", "isPattern": "false", "id": "labcontroller12" } ], "attributes": [ { "name": "play", "type": "string", "isDomain": "false" } ], "providingApplication": "http://localhost:4061" } ], "duration": "P1Y" }, "headers": { "fiware-service": "hi", "fiware-servicepath": "/hi" } } | comp=IoTAgent time=2017-03-06T18:12:14.701Z | lvl=DEBUG | corr=2d54c696-7c62-454a-bdf2-5fb289f53e28 | trans=2d54c696-7c62-454a-bdf2-5fb289f53e28 | op=IoTAgentNGSI.DeviceService | srv=hi | subsrv=/hi | msg=Registration success. | comp=IoTAgent time=2017-03-06T18:12:14.702Z | lvl=DEBUG | corr=2d54c696-7c62-454a-bdf2-5fb289f53e28 | trans=2d54c696-7c62-454a-bdf2-5fb289f53e28 | op=IoTAgentNGSI.DeviceService | srv=hi | subsrv=/hi | msg=Creating initial entity in the Context Broker: { "url": "http://147.27.60.58:1026/v1/updateContext", "method": "POST", "json": { "contextElements": [ { "type": "Controller", "isPattern": "false", "id": "labcontroller12", "attributes": [ { "name": "number", "type": "string", "value": " " }, { "name": "play_status", "type": "commandStatus", "value": "UNKNOWN" }, { "name": "play_info", "type": "commandResult", "value": " " }, { "name": "TimeInstant", "type": "ISO8601", "value": " " } ] } ], "updateAction": "APPEND" }, "headers": { "fiware-service": "hi", "fiware-servicepath": "/hi", "fiware-correlator": "2d54c696-7c62-454a-bdf2-5fb289f53e28" } } | comp=IoTAgent time=2017-03-06T18:12:14.915Z | lvl=DEBUG | corr=2d54c696-7c62-454a-bdf2-5fb289f53e28 | trans=2d54c696-7c62-454a-bdf2-5fb289f53e28 | op=IoTAgentNGSI.DeviceService | srv=hi | subsrv=/hi | msg=Initial entity created successfully. | comp=IoTAgent time=2017-03-06T18:12:14.920Z | lvl=DEBUG | corr=2d54c696-7c62-454a-bdf2-5fb289f53e28 | trans=2d54c696-7c62-454a-bdf2-5fb289f53e28 | op=IoTAgentNGSI.MongoDBDeviceRegister | srv=hi | subsrv=/hi | msg=Storing device with id [controller12] and type [Controller] | comp=IoTAgent time=2017-03-06T18:12:14.930Z | lvl=ERROR | corr=2d54c696-7c62-454a-bdf2-5fb289f53e28 | trans=2d54c696-7c62-454a-bdf2-5fb289f53e28 | op=IoTAgentNGSI.Alarms | srv=hi | subsrv=/hi | msg=Releasing [MONGO-ALARM] | comp=IoTAgent time=2017-03-06T18:12:14.931Z | lvl=DEBUG | corr=2d54c696-7c62-454a-bdf2-5fb289f53e28 | trans=2d54c696-7c62-454a-bdf2-5fb289f53e28 | op=IoTAgentNGSI.DeviceProvisioning | srv=hi | subsrv=/hi | msg=Device provisioning request succeeded | comp=IoTAgent time=2017-03-06T18:12:14.933Z | lvl=DEBUG | corr=2d54c696-7c62-454a-bdf2-5fb289f53e28 | trans=2d54c696-7c62-454a-bdf2-5fb289f53e28 | op=IoTAgentNGSI.DomainControl | srv=hi | subsrv=/hi | msg=response-time: 486 | comp=IoTAgent It's now clear that the command attribute is not created but only its special attributes that describe the command state itself but there's no command to be updated . So , Is my registration request composed correctly to suit the iotagen-ul instance especially for its interpretation for the command ? and how could i verify the registration correctness ? and i just want to know where the problem could lie exactly . and thanks so much. |
Created question in FIWARE Q/A platform on 06-03-2017 at 20:03
{color: red}Please, ANSWER this question AT{color} https://stackoverflow.com/questions/42633821/fiware-orion-context-broker-and-iotagentul-command-issue +Question:+ Fiware Orion context broker and iotagentUL command issue +Description:+ I'm a Fiware user and i deployed an orion context broker GE , cepheus GE and an iotagent-ul instances in different VMs on cloud. I have registered a device in the iot agent specifying a command attribute in the register request and its corresponding entity was created in the context broker on the registration process. Now when i register a device with its attributes and the command attribute with its name and type , the device is registered on the iot agent and its entity is also created in the context broker . But the strange thing that happens is that the command attribute is only translated into its special attributes which are the commandName_info and commandName_status but the command attribute itself is not shown among them in the registration result in the iot agent logs .In addition, when i do an update operation on the command attribute in the Orion context broker , the attribute is not recognized and the update fails as the command attribute is missing in the entitiy itself . And the registration process is as follows: this is the registration request that i send : (curl -v -H 'content-type: application/json' -H 'fiware-service: ourservicename' -H 'fiware-servicepath: /ourservicpath' -X POST 'http://iotagentULaddress:8080/iot/devices' -d @- ) << EOF { "`devices`": [ { "device_id": "controller12", "entity_name": "labcontroller12", "entity_type": "Controller", "isPattern" :"false", "protocol": "IoTA-UL", "timezone": "Egypt/Cairo", "endpoint": "http://iotagentULaddress:8080", "attributes": [ { "object_id": "n", "name": "number", "type": "string" }], "commands": [{ "name": "play", "type": "string" }] }] } EOF And this is the registration result in the iot agent's logs showing the registered entity and how it is created in the context broker: time=2017-03-06T18:10:56.335Z | lvl=DEBUG | corr=dee16709-4b99-4336-b23a-722878a8b628 | trans=dee16709-4b99-4336-b23a-722878a8b628 | op=IoTAgentNGSI.ContextServer | srv=n/a | subsrv=n/a | msg=Successfully subscribed to the following topics: ["/+/+/attrs/+","/+/+/attrs","/+/+/cmdexe"] | comp=IoTAgent {"op":"IOTAUL.Executable","time":"2017-03-06T18:10:56.427Z","lvl":"INFO","msg":"Ultralight 2.0 IoT Agent started"} time=2017-03-06T18:12:14.459Z | lvl=DEBUG | corr=2d54c696-7c62-454a-bdf2-5fb289f53e28 | trans=2d54c696-7c62-454a-bdf2-5fb289f53e28 | op=IoTAgentNGSI.GenericMiddlewares | srv=hi | subsrv=/hi | msg=Request for path [/iot/devices] from [217.172.12.190:8080] | comp=IoTAgent time=2017-03-06T18:12:14.460Z | lvl=DEBUG | corr=2d54c696-7c62-454a-bdf2-5fb289f53e28 | trans=2d54c696-7c62-454a-bdf2-5fb289f53e28 | op=IoTAgentNGSI.GenericMiddlewares | srv=hi | subsrv=/hi | msg=Body: { "devices": [ { "device_id": "controller12", "entity_name": "labcontroller12", "entity_type": "Controller", "isPattern": "false", "protocol": "IoTA-UL", "timezone": "Egypt/Cairo", "endpoint": "http://217.172.12.190:8080", "attributes": [ { "object_id": "n", "name": "number", "type": "string" } ], "commands": [ { "object_id": "s", "name": "play", "type": "string" } ] } ] } | comp=IoTAgent time=2017-03-06T18:12:14.463Z | lvl=DEBUG | corr=2d54c696-7c62-454a-bdf2-5fb289f53e28 | trans=2d54c696-7c62-454a-bdf2-5fb289f53e28 | op=IoTAgentNGSI.DeviceProvisioning | srv=hi | subsrv=/hi | msg=Handling device provisioning request. | comp=IoTAgent time=2017-03-06T18:12:14.464Z | lvl=DEBUG | corr=2d54c696-7c62-454a-bdf2-5fb289f53e28 | trans=2d54c696-7c62-454a-bdf2-5fb289f53e28 | op=IoTAgentNGSI.MongoDBGroupRegister | srv=hi | subsrv=/hi | msg=Looking for entity params undefined | comp=IoTAgent Mongoose: mpromise (mongoose's default promise library) is deprecated, plug in your own promise library instead: http://mongoosejs.com/docs/promises.html time=2017-03-06T18:12:14.473Z | lvl=DEBUG | corr=2d54c696-7c62-454a-bdf2-5fb289f53e28 | trans=2d54c696-7c62-454a-bdf2-5fb289f53e28 | op=IoTAgentNGSI.MongoDBGroupRegister | srv=hi | subsrv=/hi | msg=Device group for fields [undefined] not found: [{"undefined":"Controller"}] | comp=IoTAgent time=2017-03-06T18:12:14.473Z | lvl=DEBUG | corr=2d54c696-7c62-454a-bdf2-5fb289f53e28 | trans=2d54c696-7c62-454a-bdf2-5fb289f53e28 | op=IoTAgentNGSI.BidirectionalPlugin | srv=hi | subsrv=/hi | msg=Extracting attribute list | comp=IoTAgent time=2017-03-06T18:12:14.473Z | lvl=DEBUG | corr=2d54c696-7c62-454a-bdf2-5fb289f53e28 | trans=2d54c696-7c62-454a-bdf2-5fb289f53e28 | op=IoTAgentNGSI.BidirectionalPlugin | srv=hi | subsrv=/hi | msg=Sending bidirectionality subscriptions for device [controller12] | comp=IoTAgent time=2017-03-06T18:12:14.474Z | lvl=DEBUG | corr=2d54c696-7c62-454a-bdf2-5fb289f53e28 | trans=2d54c696-7c62-454a-bdf2-5fb289f53e28 | op=IoTAgentNGSI.MongoDBGroupRegister | srv=hi | subsrv=/hi | msg=Looking for bindings for the function [deviceProvisioningHandler] and protocol [null] | comp=IoTAgent time=2017-03-06T18:12:14.474Z | lvl=DEBUG | corr=2d54c696-7c62-454a-bdf2-5fb289f53e28 | trans=2d54c696-7c62-454a-bdf2-5fb289f53e28 | op=IoTAgentNGSI.MongoDBGroupRegister | srv=hi | subsrv=/hi | msg=Binding found for function [deviceProvisioningHandler] and protocol [null] | comp=IoTAgent time=2017-03-06T18:12:14.475Z | lvl=DEBUG | corr=2d54c696-7c62-454a-bdf2-5fb289f53e28 | trans=2d54c696-7c62-454a-bdf2-5fb289f53e28 | op=IoTAgentNGSI.MongoDBDeviceRegister | srv=hi | subsrv=/hi | msg=Looking for entity with id [controller12]. | comp=IoTAgent time=2017-03-06T18:12:14.476Z | lvl=DEBUG | corr=2d54c696-7c62-454a-bdf2-5fb289f53e28 | trans=2d54c696-7c62-454a-bdf2-5fb289f53e28 | op=IoTAgentNGSI.MongoDBDeviceRegister | srv=hi | subsrv=/hi | msg=Entity [controller12] not found. | comp=IoTAgent time=2017-03-06T18:12:14.477Z | lvl=ERROR | corr=2d54c696-7c62-454a-bdf2-5fb289f53e28 | trans=2d54c696-7c62-454a-bdf2-5fb289f53e28 | op=IoTAgentNGSI.Alarms | srv=hi | subsrv=/hi | msg=Raising [MONGO-ALARM]: undefined | comp=IoTAgent time=2017-03-06T18:12:14.477Z | lvl=DEBUG | corr=2d54c696-7c62-454a-bdf2-5fb289f53e28 | trans=2d54c696-7c62-454a-bdf2-5fb289f53e28 | op=IoTAgentNGSI.MongoDBGroupRegister | srv=hi | subsrv=/hi | msg=Looking for entity params undefined | comp=IoTAgent time=2017-03-06T18:12:14.478Z | lvl=DEBUG | corr=2d54c696-7c62-454a-bdf2-5fb289f53e28 | trans=2d54c696-7c62-454a-bdf2-5fb289f53e28 | op=IoTAgentNGSI.MongoDBGroupRegister | srv=hi | subsrv=/hi | msg=Device group for fields [undefined] not found: [{"undefined":"Controller"}] | comp=IoTAgent time=2017-03-06T18:12:14.479Z | lvl=DEBUG | corr=2d54c696-7c62-454a-bdf2-5fb289f53e28 | trans=2d54c696-7c62-454a-bdf2-5fb289f53e28 | op=IoTAgentNGSI.DeviceService | srv=hi | subsrv=/hi | msg=Registering device into NGSI Service: { "id": "controller12", "type": "Controller", "name": "labcontroller12", "service": "hi", "subservice": "/hi", "active": [ { "object_id": "n", "name": "number", "type": "string" } ], "staticAttributes": [], "lazy": null, "commands": [ { "object_id": "s", "name": "play", "type": "string" } ], "timezone": "Egypt/Cairo", "endpoint": "http://217.172.12.190:8080", "protocol": "IoTA-UL", "transport": "HTTP", "internalId": null, "subscriptions": [], "polling": false } | comp=IoTAgent time=2017-03-06T18:12:14.480Z | lvl=DEBUG | corr=2d54c696-7c62-454a-bdf2-5fb289f53e28 | trans=2d54c696-7c62-454a-bdf2-5fb289f53e28 | op=IoTAgentNGSI.DeviceService | srv=hi | subsrv=/hi | msg=Sending device registrations to Context Broker at [http://147.27.60.58:1026/NGSI9/registerContext] | comp=IoTAgent time=2017-03-06T18:12:14.480Z | lvl=DEBUG | corr=2d54c696-7c62-454a-bdf2-5fb289f53e28 | trans=2d54c696-7c62-454a-bdf2-5fb289f53e28 | op=IoTAgentNGSI.DeviceService | srv=hi | subsrv=/hi | msg=Using the following request: { "url": "http://147.27.60.58:1026/NGSI9/registerContext", "method": "POST", "json": { "contextRegistrations": [ { "entities": [ { "type": "Controller", "isPattern": "false", "id": "labcontroller12" } ], "attributes": [ { "name": "play", "type": "string", "isDomain": "false" } ], "providingApplication": "http://localhost:4061" } ], "duration": "P1Y" }, "headers": { "fiware-service": "hi", "fiware-servicepath": "/hi" } } | comp=IoTAgent time=2017-03-06T18:12:14.701Z | lvl=DEBUG | corr=2d54c696-7c62-454a-bdf2-5fb289f53e28 | trans=2d54c696-7c62-454a-bdf2-5fb289f53e28 | op=IoTAgentNGSI.DeviceService | srv=hi | subsrv=/hi | msg=Registration success. | comp=IoTAgent time=2017-03-06T18:12:14.702Z | lvl=DEBUG | corr=2d54c696-7c62-454a-bdf2-5fb289f53e28 | trans=2d54c696-7c62-454a-bdf2-5fb289f53e28 | op=IoTAgentNGSI.DeviceService | srv=hi | subsrv=/hi | msg=Creating initial entity in the Context Broker: { "url": "http://147.27.60.58:1026/v1/updateContext", "method": "POST", "json": { "contextElements": [ { "type": "Controller", "isPattern": "false", "id": "labcontroller12", "attributes": [ { "name": "number", "type": "string", "value": " " }, { "name": "play_status", "type": "commandStatus", "value": "UNKNOWN" }, { "name": "play_info", "type": "commandResult", "value": " " }, { "name": "TimeInstant", "type": "ISO8601", "value": " " } ] } ], "updateAction": "APPEND" }, "headers": { "fiware-service": "hi", "fiware-servicepath": "/hi", "fiware-correlator": "2d54c696-7c62-454a-bdf2-5fb289f53e28" } } | comp=IoTAgent time=2017-03-06T18:12:14.915Z | lvl=DEBUG | corr=2d54c696-7c62-454a-bdf2-5fb289f53e28 | trans=2d54c696-7c62-454a-bdf2-5fb289f53e28 | op=IoTAgentNGSI.DeviceService | srv=hi | subsrv=/hi | msg=Initial entity created successfully. | comp=IoTAgent time=2017-03-06T18:12:14.920Z | lvl=DEBUG | corr=2d54c696-7c62-454a-bdf2-5fb289f53e28 | trans=2d54c696-7c62-454a-bdf2-5fb289f53e28 | op=IoTAgentNGSI.MongoDBDeviceRegister | srv=hi | subsrv=/hi | msg=Storing device with id [controller12] and type [Controller] | comp=IoTAgent time=2017-03-06T18:12:14.930Z | lvl=ERROR | corr=2d54c696-7c62-454a-bdf2-5fb289f53e28 | trans=2d54c696-7c62-454a-bdf2-5fb289f53e28 | op=IoTAgentNGSI.Alarms | srv=hi | subsrv=/hi | msg=Releasing [MONGO-ALARM] | comp=IoTAgent time=2017-03-06T18:12:14.931Z | lvl=DEBUG | corr=2d54c696-7c62-454a-bdf2-5fb289f53e28 | trans=2d54c696-7c62-454a-bdf2-5fb289f53e28 | op=IoTAgentNGSI.DeviceProvisioning | srv=hi | subsrv=/hi | msg=Device provisioning request succeeded | comp=IoTAgent time=2017-03-06T18:12:14.933Z | lvl=DEBUG | corr=2d54c696-7c62-454a-bdf2-5fb289f53e28 | trans=2d54c696-7c62-454a-bdf2-5fb289f53e28 | op=IoTAgentNGSI.DomainControl | srv=hi | subsrv=/hi | msg=response-time: 486 | comp=IoTAgent It's now clear that the command attribute is not created but only its special attributes that describe the command state itself but there's no command to be updated . So , Is my registration request composed correctly to suit the iotagen-ul instance especially for its interpretation for the command ? and how could i verify the registration correctness ? and i just want to know where the problem could lie exactly . and thanks so much. |
HD-Chapter | IoT [ 10839 ] |
Resolution | Done [ 10000 ] | |
Status | Answered [ 10104 ] | Closed [ 6 ] |
Fix Version/s | 2021 [ 12600 ] |