Thingsee Support

Thingsee Events (API)

Sensor data is always sent as an event. An event can be one-time or continuous and it may be real-time or sent as logged history data. Thingsee device is capable of buffering events to a memory card, and occasionally flushing events to cloud server when network connection is available. Sense object is an array of sensors ids and values, and there can be optionally information about engine reason of the event.

JSON structure for Thingsee Event is defined as:

     “events”: [{
       “engine”: {
          “pId”: String,
          “puId”: Number,
          “stId”: Number,
          “evId”: Number,
          “ts”: Number
       },
       “senses”: [{
          “sId”: String,
          “val”: String OR Number (integer or float),
          “ts”: Number
        }]
     }]

The root of the JSON data contains only senses-object. Senses is an array of sensor-data values containing the following data

Parent object Object Mandatory Description
events engine Yes Information about engine status
events senses Yes Information about the actual senses and values
senses sId Yes Identifier for sensor data.
senses val Yes Actual sensor value.
senses ts No Sensor value UTC timestamp as number of milliseconds after the UNIX epoch. If timestamp is not sent within a sense, then engine -> ts will be used.
engine pId Yes Currently active profile ID
engine puId Yes Identifies which purpose was run when the event was triggered.
engine stId Yes Identifies which state was active when the event was triggered.
engine evId Yes Identifies which event was triggered.
engine ts Yes Timestamp when the event was triggered (determined by engine).

 

Thingsee Ping Event is a special purpose event, and sent only when profile has been changed.

   “events”: {
       “engine”: {
       “pId”: String
     }
   }

SenseID
SenseID is global constant to identify different sensors and their attributes. These constants are extendable, and new sensors, units and attributes will be added based on need.

SenseID format
SenseID is string-formatted 32-bit hexadecimal identifier. This format has been chosen to make it easy in Thingsee to handle various different sensors and their data, and the string-format is used just as a transport within JSON structure.

SenseID 0xAABBCCDD is constructed using the following schema

Part Description
AA Reserved for future use. Defaults to 00.
BB Group ID identifies the logical group where the data property belongs.
CC Property ID identifies exact sensor/data information as a single attribute. E.g. latitude and longitude are divided into two different SenseIDs.
DD Index number within a device. This allows single device to report up to 256 similar data properties e.g. 256 battery statuses from a device hub and its sub-network.

 

Available SenseIDs
All values will be returned from a device as given by sensor. Accuracy of a specific property is determined by sensor hardware component, hardware drivers and/or libraries within device OS.

 

Group GroupID Property ID Property Unit Datatype
location 0x01 0x01 latitude, signed degrees float
location 0x01 0x02 longitude, signed degrees float
location 0x01 0x03 altitude, signed meters float
location 0x01 0x04 accuracy meters float
location 0x01 0x05 Is inside geofence boolean boolean
speed 0x02 0x01 gps speed m/s float
energy 0x03 0x01 Battery full capacity mAh float
energy 0x03 0x02 Current battery level % float
energy 0x03 0x03 Current battery voltage V float
energy 0x03 0x04 Is connected to charger boolean boolean
orientation 0x04 0x01 Heading 0-360 degrees degrees float
orientation 0x04 0x02 Yaw, signed degrees float
orientation 0x04 0x03 Pitch, signed degrees float
orientation 0x04 0x04 Roll, signed degrees float
acceleration 0x05 0x01 Longitudinal acceleration, signed g float
acceleration 0x05 0x02 Lateral acceleration, signed g float
acceleration 0x05 0x03 Vertical acceleration, signed g float
acceleration 0x05 0x04 Impact, no direction g float
environment 0x06 0x01 Temperature, signed C float
environment 0x06 0x02 Humidity % float
environment 0x06 0x03 Ambient light lux float
environment 0x06 0x04 Air pressure hPa float
environment 0x06 0x05 Magnetic field, longitudinal mGauss float
environment 0x06 0x06 Magnetic field, lateral mGauss float
environment 0x06 0x07 Magnetic field, vertical mGauss float
hw-keys 0x07 0x01 Is power button pressed boolean boolean
hw-keys 0x07 0x02 Is proximity button pressed boolean boolean

 

Have more questions? Submit a request

Comments