Types
Space
A space can have subspaces and holds zero or more points. You can think of spaces as a folder structure to help organize your points.
Type | Description | Optional |
---|---|---|
name | A suitable, user selected name. | |
metadata | A json object containing any user specific information. This field is typically used for keeping configurations,settings,OtA links and so on, to configure the device over the air. | X |
parentId | The parent space of this space | X |
Example space:
{
"name": "machine_shop",
"id": "234f234234cg25hg23v523gvh23",
"parentId": "234f234234cg25hg23v523gvh23",
"metadata": { "information": { "about": "Machine shop" } }, // Optional
}
Point
A point represents the origin of one or more signals. Often it represents a physical device, but it could also represent something like a combination of devices, an analysis result or similar.
Type | Description | Optional |
---|---|---|
id | The unique identifier for that point | |
externalId | Used to reference id from other systems. This would typically be a MAC adress, LoraWan DevEUI, ERP item number or similar. | |
spaceId | The id of the space the point currently belongs to | |
metadata | A json object containing any user specific information. This field is typically used for keeping configurations,settings,OtA links and so on, to configure the device over the air. | X |
parentId | A reference to another point, e.g. if you want to know what gateway was used to transfer a particular signal | X |
Example point:
{
"id": "234f234234cg25hg23v523gvh23",
"parentId": "234f234234cg25hg23v523gvh23", // Optional
"externalId" : "123",
"name": "temp_sensor_53",
"metadata": { "config": { "sleepSeconds": 60 } }, // Optional
"spaceId": "234f234234cg25hg23v523gvh23",
}
Signal
A signal represent a single measurement or data at a certain time.
Type | Description | Optional |
---|---|---|
pointId | The origin point of the signal | |
type | A free text field, where you specify the nature of the signal, e.g. "air temperature" | |
unit | A set of predefined unit types for convenience and consistency, e.g. "CELSIUS_DEGREES", or "GENERIC" if nothing fits the bill. | |
value | The actual signal data in string format. Any text is supported here, but if you want to take advantage of numerical functionality, like getting query results back in a number type, it needs to be an integer or float. | |
timestamp | The signal timestamp | |
metadata | A json object containing data related to the signal | X |
parentId | A reference to another point, e.g. if you want to know what gateway was used to transfer a particular signal | X |
Signal insert:
{
"id": "234f234234cg25hg23v523gvh23",
"parentId": "234f234234cg25hg23v523gvh23", // Optional
"pointId": "234f234234cg25hg23v523gvh23",
"type": "air temperature",
"unit": "CELSIUS_DEGREES",
"metadata": {"key":"value"}, // Optional
"value": "18.26",
"timestamp": "2021-16-11T13:46:45.548+00:00", // Optional
}
Value output
{
"id": "234f234234cg25hg23v523gvh23",
"parentId": "234f234234cg25hg23v523gvh23",
"pointId": "234f234234cg25hg23v523gvh23",
"type": "air temperature",
"unit": "CELSIUS_DEGREES",
"metadata": {"key":"value"},
"data": {
"rawValue": "18.26",
"numericValue": 18.26
},
"timestamp": "2021-16-11T13:46:45.548+00:00",
"createdAt": "2021-16-11T13:46:45.548+00:00",
}
Units
Category | Unit |
---|---|
Temperature | CELSIUS_DEGREES FAHRENHEIT_DEGREES KELVINS |
Sound | DECIBELS BEATS_PER_MINUTE |
Position | LATITUDE_DEGREES LONGITUDE_DEGREES |
Speed, acceleration | METERS_PER_SECOND KILOMETERS_PER_HOUR METERS_PER_SECOND_SQUARED |
Distance | METERS KILOMETERS CENTIMETERS MILLIMETERS |
Time | SECONDS |
Storage, speed | BITS BITS_PER_SECOND |
Weight | GRAMS KILOGRAMS |
Volume | LITERS CUBIC_METERS |
Pressure | PASCAL |
Light | LUX |
Energy | VOLTS MILLIVOLTS MILLIAMPERES |
Flow | CUBIC_METERS_PER_SECOND LITERS_PER_SECOND CUBIC_METERS_PER_HOUR LITERS_PER_HOURa KILOGRAMS_PER_HOUR |
Humidity | GRAMS_PER_METERS_CUBIC (relative as PERCENTS) |
Turbidity | NTU (Nephelometric Turbidity unit) |
Generic | GENERIC DEGREES PERCENTS UNKNOWN |