Thingsee Support

Thingsee Property (API)

Device Property
A device will send the following data structure to a cloud service to communicate its properties and capabilities. This data block is static and transferred to a web backend server during the device initialisation and/or pairing process. The cloud server should store this data for further communication and management. The main purpose of this data is to inform backend (especially Thingsee Creator applications) about the features, attributes and functionality of the device. These properties are the key input when device profile (purposes) is created.

{
    "device" : {
        “name”: String,
        "swName": String,
        "swVersion": String,
        “hwVersion”: String,
        "serial”: String,
        “variant”: {
            “primaryColor”: String,
            “secondaryColor”: String,
            “customerName”: String,
            “productFamily”: String
                        }
        },
        "module" : [{
           "moduleId": String,
           "moduleName": String,
           "senses": [{
                "sId": String,
                “min”: Number,
                “max”: Number,
                “minInterval”: Number
           }]
        }]
}

Device object contains basic information about the device and Thingsee version. This version information is used when deploying new firmware versions as firmware-over-the-air (FOTA) updates.

Module object is the most important part for purpose development. This describes all the sensors (senses) available within a device. The senses are the key components used for purpose programming for the device. In the future, Thingsee will support 3rd party HW modules via hardware buses or Bluetooth connection, and therefore this descriptor already supports multiple modules and their independent senses.

Parent object Object Mandatory Description
device swName No Software description e.g. “Thingsee B2.0”
device swVersion No Software version information e.g. “2015.01.31”
device hwVersion No Hardware version information e.g. “B1.5_0302”
device serial Yes Product serial number
module moduleId No Device originated identifier for a sensor module subsystem.
module moduleName No Device defined name for a module e.g. ”ACME Bluetooth sensor” or “ThingseeOne”
senses sId Yes Sensor identifier as specified in 5.2
senses min No Minimum value that can be read from the sense
senses max No Maximum value that can be read from the sense
senses minInterval No Shortest interval between reading values from the sense

Device property configuration stored in a file format is referred as device.jsn

 

Cloud Property
Applications or cloud can upload the following information onto a device. Typically this data is something that the end-user will configure through a mobile app or web dashboard.

    {
         "connections" : {
            "wifiConnections": [{
                  "connectionId": Number;
                  "ssid": String,
                  "password": String,
                  "encryption": String
         }],
         "cellularConnections" : [{
                  "connectionId": Number,
                  "accessPointName": String,
                  “proxyAddress”: String,
                  “proxyPort”: String,
                  “userName”: String,
                  “password”: String,
                  “mobileCountryCode”: String,
                  “mobileNetworkCode”: String,
                  “authType”: String,
                  “enableRoaming”: Boolean
         }]
     },
         "connectors" : [{
            "connectorId": Number,
            "connectorName": String,
            “api”: String,
            "protocol": String,
            “host”: String,
            "port": Number,
            “uuid”: String,
            “token”: String,

            “cloudProviderX”: {
               “appId”: String,
               “appKey”: String,
               “accessToken”: String,
               “thingId”: String
            },
            “cloudProviderY”: {
               “someField”: String,
               “otherField”: String
            },
            “cloudProviderZ”: {
               “someField”: String,
               “otherField”: String
            }
       }],
       “sms” : {
          “min_interval_minutes”: Number,
          “max_per_day”: Number
          }
       }

Connectivity object contains user-specific credentials and parameters that are needed for connecting e.g. to a Wi-fi network. This data will be stored as encrypted data in a device.

Connectors object describes configured cloud backend connection(s) within a device firmware. Typically single device will implement only one connector because of limited resources within a device.

 

Parent Object Object Mandatory Description
connections wifiConnections No Object for wifi configuration
wifiConnections connectionId Yes Index number of connection configuration generated outside device
wifiConnections ssid Yes Wi-fi network SSID
wifiConnections password No Wi-fi network password
wifiConnections encryption No Wi-fi network encryption settings
connections cellularConnections No Object for cellular configuration
cellularConnections connectionId Yes Index number of connection configuration generated outside device
cellularConnections accessPointName Yes Name of the cellular operator access point e.g. “Internet”
cellularConnections proxyAddress No The address of http proxy to use
cellularConnections proxyPort No The port for proxyAddress
cellularConnections userName No Access point username
cellularConnections password No Access point password
cellularConnections mobileCountryCode Yes The mobile country code for cellular subscription
cellularConnections mobileNetworkCode Yes The mobile network code for cellular subscription
cellularConnections authType No Authentication type PAP, CHAP
cellularConnections enableRoaming No Enable roaming
connectors connectorId No Index number of connector configuration generated outside device
connectors connectorName No Name of the connector setup e.g. “Haltian Web Proxy”
connectors token No Connector token
connectors protocol Yes Connector protocol e.g. “http”, “https”, “mqtt”, “coap”
connectors url Yes Address of the cloud service base domain
connectors port Yes Port number for cloud service
sms min_interval_minutes No Minimum interval in minutes between to consecutive sms messages
sms max_per_day No Maximum number of sms messages that can be sent per day

 

Cloud property stored in a file format is referred as cloud.jsn

Have more questions? Submit a request

Comments