Skip to main content

Generic integration

Nodes which are not currently supported by Yggio can be made available through the generic integration.

Generic devices are identified by a globally unique id. There are a number of properties that can be chosen as the holder of you id.
Currently supported identifiers:

IdentifierNameDescription
idFiware entity id
secretString between 8 and 128 characters, include only A-Z, 0-9, -, . and _
devEui64-bit globally-unique Extended Unique Identifier (EUI-64)
gatewayEui64-bit globally-unique Extended Unique Identifier (EUI-64)
imeiInternational Mobile Equipment Identity, 15 digit number
tagany string
serialNumberany string

There are two actions that needs to be performed, in any order:

  1. Create the node through the control panel (or API, it follows Adding devices to Yggio)
    1.1 Login to Yggio with your username and password
    1.2 Navigate to IoT-nodes on the left side
    1.3 Press the New IoT-Node button in the top left corner
    1.4 Choose Generic
    1.5 Enter the unique id to be used for this device and press Next
    1.6 Give the node a name and press Next
    1.7 If everything looks OK, press Create, then Finish

  2. Send data to the integration, either by using HTTP or MQTT.
    For MQTT, see MQTT Broker.
    For HTTP, a message should be sent to <server>/http-push/generic with this format:

{
<identifierName>: <identifier>,
"basically": "any",
"json": "compatible",
"information": [1]
"stuff": {
"nested": "is allowed"
}
}

The request must also include either a header or querystring that determine your identifier: identifier=<identifierName> An example:

curl -sS https://staging.yggio.net/http-push/generic?identifier=secret \
-H 'content-type: application/json' \
-d @- <<EOF
{
"secret": "ABCDEFGHIJKL_1234567890",
"basically": "any",
"json": "compatible",
"information": [1],
"stuff": {
"nested": "is allowed"
}
}
EOF