Uploaded image for project: 'Help-Desk'
  1. Help-Desk
  2. HELP-8877

[fiware-stackoverflow] Fiware: No observation attributes in Orion CB when registered/sent via IDAS UltraLight

    Details

      Description

      Created question in FIWARE Q/A platform on 04-10-2015 at 15:10
      Please, ANSWER this question AT https://stackoverflow.com/questions/32933813/fiware-no-observation-attributes-in-orion-cb-when-registered-sent-via-idas-ultr

      Question:
      Fiware: No observation attributes in Orion CB when registered/sent via IDAS UltraLight

      Description:
      This question is very similar to Missing attributes on Orion CB Entity when registering device through IDAS but found no definitive answer there.

      I have been trying FiWare to get UL2.0 via IDAS to the Orion CB working in the Fiware-Lab env:

      using latest GitHub
      https://github.com/telefonicaid/fiware-figway/tree/master/python-IDAS4
      scripts
      following the tutorials in particular
      http://www.slideshare.net/FI-WARE/fiware-iotidasintroul20v2

      I have a FI-WARE Lab account with token generated. Adapted the config.ini file:

      [user]

      1. Please, configure here your username at FIWARE Cloud and a valid Oauth2.0 TOKEN for your user (you can use get_token.py to obtain a valid TOKEN).
        username=MY_USERNAME
        token=MY_TOKEN

      [contextbroker]
      host=130.206.80.40
      port=1026
      OAuth=no

      1. Here you need to specify the ContextBroker database you are querying.
      2. Leave it blank if you want the general database or the IDAS service if you are looking for IoT devices connected by you.
      3. fiware_service=
        fiware_service=bus_auto
        fiware-service-path=/

      [idas]
      host=130.206.80.40
      adminport=5371
      ul20port=5371
      OAuth=no

      1. Here you need to configure the IDAS service your devices will be sending data to.
      2. By default the OpenIoT service is provided.
      3. fiware-service=fiwareiot
        fiware-service=bus_auto
        fiware-service-path=/
        #apikey=4jggokgpepnvsb2uv4s40d59ov
        apikey=4jggokgpepnvsb2uv4s40d59ov

      [local]
      #Choose here your System type. Examples: RaspberryPI, MACOSX, Linux, ...
      host_type=MACOSX

      1. Here please add a unique identifier for you. Suggestion: the 3 lower hexa bytes of your Ethernet MAC. E.g. 79:ed:af
      2. Also you may use your e-mail address.
        host_id=a0:11:00

      I used the SENSOR_TEMP template, adding the 'protocol' field (PDI-IoTA-UltraLight which as the first problem I stumbled upon):

      {
      "devices": [
      { "device_id": "DEV_ID",
      "entity_name": "ENTITY_ID",
      "entity_type": "thing",
      "protocol": "PDI-IoTA-UltraLight",
      "timezone": "Europe/Amsterdam",
      "attributes": [

      { "object_id": "otemp", "name": "temperature", "type": "int" }

      ],
      "static_attributes": [

      { "name": "att_name", "type": "string", "value": "value" }

      ]
      }
      ]
      }

      Now I can Register the device ok. Like

      python RegisterDevice.py SENSOR_TEMP NexusPro Temp-Otterlo

      and see it in Device List:

      python ListDevices.py

      I can send Observations like

      python SendObservation.py Temp-Otterlo 'otemp|17'

      But in the ContextBroker I see the Entity but never the measurements, e.g.

      python GetEntity.py Temp-Otterlo

      Gives

      • Asking to http://130.206.80.40:1026/ngsi10/queryContext
      • Headers: {'Fiware-Service': 'bus_auto', 'content-type': 'application/json', 'accept': 'application/json', 'X-Auth-Token': 'NULL'}
      • Sending PAYLOAD:
        {
        "entities": [ { "type": "", "id": "Temp-Otterlo", "isPattern": "false" }

        ],
        "attributes": []
        }

      ...

      • Status Code: 200
      • Response:
        {
        "contextResponses" : [
        {
        "contextElement" : {
        "type" : "thing",
        "isPattern" : "false",
        "id" : "Temp-Otterlo",
        "attributes" : [
        { "name" : "TimeInstant", "type" : "ISO8601", "value" : "2015-10-03T14:04:44.663133Z" }

        ,

        Unknown macro: { "name" }

        ]
        },
        "statusCode" :

        { "code" : "200", "reasonPhrase" : "OK" }

        }
        ]
        }

      I get an TimeInstant attribute strangely. I tried playing with settings of the .ini like fiware-service=fiwareiot, but to no avail. I am out of ideas. The documentation at the catalogue. for IDAS4
      is talking about observations to be sent to port 8002 and setting "OpenIoT" service, but that failed as well.

      Any help appreciated.

        Activity

        Hide
        backlogmanager Backlog Manager added a comment -

        2017-05-22 15:10|CREATED monitor | # answers= 1, accepted answer= False

        Show
        backlogmanager Backlog Manager added a comment - 2017-05-22 15:10|CREATED monitor | # answers= 1, accepted answer= False
        Hide
        backlogmanager Backlog Manager added a comment -

        2017-05-22 18:07|UPDATED status: transition Answer| # answers= 1, accepted answer= False

        Show
        backlogmanager Backlog Manager added a comment - 2017-05-22 18:07|UPDATED status: transition Answer| # answers= 1, accepted answer= False
        Hide
        backlogmanager Backlog Manager added a comment -

        2017-05-22 21:07|UPDATED status: transition Answered| # answers= 1, accepted answer= False

        Show
        backlogmanager Backlog Manager added a comment - 2017-05-22 21:07|UPDATED status: transition Answered| # answers= 1, accepted answer= False

          People

          • Assignee:
            ralli Carlos Ralli Ucendo
            Reporter:
            backlogmanager Backlog Manager
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: