Skip to main content

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.

TypeDescriptionOptional
nameA suitable, user selected name.
metadataA 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
parentIdThe parent space of this spaceX

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.

TypeDescriptionOptional
idThe unique identifier for that point
externalIdUsed to reference id from other systems. This would typically be a MAC adress, LoraWan DevEUI, ERP item number or similar.
spaceIdThe id of the space the point currently belongs to
metadataA 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
parentIdA reference to another point, e.g. if you want to know what gateway was used to transfer a particular signalX

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.

TypeDescriptionOptional
pointIdThe origin point of the signal
typeA free text field, where you specify the nature of the signal, e.g. "air temperature"
unitA set of predefined unit types for convenience and consistency, e.g. "CELSIUS_DEGREES", or "GENERIC" if nothing fits the bill.
valueThe 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.
timestampThe signal timestamp
metadataA json object containing data related to the signalX
parentIdA reference to another point, e.g. if you want to know what gateway was used to transfer a particular signalX

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

CategoryUnit
TemperatureCELSIUS_DEGREES
FAHRENHEIT_DEGREES
KELVINS
SoundDECIBELS
BEATS_PER_MINUTE
PositionLATITUDE_DEGREES
LONGITUDE_DEGREES
Speed, accelerationMETERS_PER_SECOND
KILOMETERS_PER_HOUR
METERS_PER_SECOND_SQUARED
DistanceMETERS
KILOMETERS
CENTIMETERS
MILLIMETERS
TimeSECONDS
Storage, speedBITS
BITS_PER_SECOND
WeightGRAMS
KILOGRAMS
VolumeLITERS
CUBIC_METERS
PressurePASCAL
LightLUX
EnergyVOLTS
MILLIVOLTS
MILLIAMPERES
FlowCUBIC_METERS_PER_SECOND
LITERS_PER_SECOND
CUBIC_METERS_PER_HOUR
LITERS_PER_HOURa
KILOGRAMS_PER_HOUR
HumidityGRAMS_PER_METERS_CUBIC
(relative as PERCENTS)
TurbidityNTU (Nephelometric Turbidity unit)
GenericGENERIC
DEGREES
PERCENTS
UNKNOWN