Im LM1.0.0 Schema gibt es zwei Nachrichten im JSON Format:
JSON Format | Beschreibung |
DataProviderInfo | Enthält Basis-Informationen über einen Sensor wie Hersteller/Name sowie dessen Eingänge bzw. Messwerte. Diese Nachricht wird nur beim ersten Mal nach Aktivierung des Sensors gesendet, in weiterer Folge werden nur die einzelnen Messwerte per "DataSteamValue" Nachricht übermittelt. |
DataStreamValue | Enthält Daten über einen aktuellen Sensorwert, wobei ein Werte in einer Nachricht versendet wird, d.h. ein Sensor erzeugt eine Nachricht pro Eingang pro Zeitintervall. |
DataProviderInfo
Enthält Basis-Infos (Stammdaten) des Sensors. Dazu gehören unter anderem die Beschreibungen der Eingänge inkl. interne IDs. Diese werden bei den laufenden Nachrichten (DataStreamInfo Messages) verwendet.
Beispiel (Luftqualitätssensor)
- {
- "messageId": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
- "header": {
- "message": "DataProviderInfo",
- "bodySchema": "DataProviderInfo-1.0.0",
- "trigger": {
- "type": "EVENT",
- "name": "DATA_PROVIDER_CREATED"
- },
- "createdAt": 1234567899000
- },
- "body": {
- "id": "01234567890abcdef01234567890abcd",
- "customKey": "",
- "title": "Luftqualitätssensor",
- "dataProviderStatus": {
- "status": "",
- "reason": "",
- "since": 0
- },
- "onlineStatus": {
- "status": "",
- "since": 0,
- "lastMessageAt": 0
- },
- "type": "LORA_NODE",
- "typeObject": {
- "lmId": "12345",
- "devEui": "01234567890abcde",
- "article": {
- "articleNumber": "",
- "name": "",
- "imageUrl": ""
- },
- "vendor": {
- "name": "",
- "articleNumber": ""
- },
- "location": ""
- },
- "supportedCommands": [],
- "supportedQueries": [],
- "supportedSystemStreams": [],
- "dataStreams": [
- {
- "id": "01234567890abcdef01234567890abc1",
- "title": "Signal Strength",
- "measurement": {
- "type": "",
- "unit": ""
- },
- "range": {
- "min": 0,
- "max": 0
- },
- "type": ""
- },
- {
- "id": "01234567890abcdef01234567890abc2",
- "title": "Battery Level",
- "measurement": {
- "type": "",
- "unit": ""
- },
- "range": {
- "min": 0,
- "max": 0
- },
- "type": "ANALOG"
- },
- {
- "id": "01234567890abcdef01234567890abc3",
- "title": "Temperatur",
- "measurement": {
- "type": "temperature",
- "unit": "centigrade"
- },
- "range": {
- "min": 0,
- "max": 0
- },
- "type": "ANALOG"
- },
- {
- "id": "01234567890abcdef01234567890abc4",
- "title": "Online Status",
- "measurement": {
- "type": "",
- "unit": ""
- },
- "range": {
- "min": 0,
- "max": 0
- },
- "type": "DIGITAL"
- },
- {
- "id": "01234567890abcdef01234567890abc5",
- "title": "CO2",
- "measurement": {
- "type": "air_quality",
- "unit": "ppm"
- },
- "range": {
- "min": 0,
- "max": 0
- },
- "type": "ANALOG"
- },
- {
- "id": "01234567890abcdef01234567890abc6",
- "title": "Luftfeuchte",
- "measurement": {
- "type": "humidity",
- "unit": "percent"
- },
- "range": {
- "min": 0,
- "max": 0
- },
- "type": "ANALOG"
- }
- ]
- }
- }
-
Schema
Die Beschreibung des Schemas in Form eines JSONSchema findet sich auch in den angehängten Dateien unter DataStreamValue-1.0.0.schema.json
messageId
string | Eindeutige ID der Message (UUID) |
header
{ } | message
string | Schema Name
Mögliche Werte:DataProviderInfo | bodySchema
string | Schema Name/Version
Mögliche Werte:DataProviderInfo-1.0.0 | trigger
{ } | type
string | Trigger Type (dzt. nur 'EVENT')
Mögliche Werte:EVENT | name
string | Trigger Type (dzt. nur 'DATA_PROVIDER_CREATED' (Sensor erstellt)
Mögliche Werte:DATA_PROVIDER_CREATED |
| createdAt
number | Zeitstempel der Anlage des Sensors (Unix Timestamp in ms) |
|
body
{ } | id
string | Eindeutige ID der Message | customKey
string | Selbstvergebene ID des Sensors | title
string | Name des Sensors | dataProviderStatus
{ } | status
string | Noch nicht implementiert | reason
string | Noch nicht implementiert | since
number | Noch nicht implementiert |
| onlineStatus
{ } | status
string | Noch nicht implementiert | since
number | Noch nicht implementiert | lastMessageAt
number | Noch nicht implementiert |
| type
string | Art des Sensors
Mögliche Werte:LORA_NODE | typeObject
{ } | lmId
string | linemetrics ID des Sensors | devEui
string | Eindeutige, vom Hersteller vergebene ID des Sensors | article
{ } | articleNumber
| Noch nicht implementiert | name
| Noch nicht implementiert | imageUrl
| Noch nicht implementiert |
| vendor
{ } | name
| Noch nicht implementiert | articleNumber
| Noch nicht implementiert |
| location
string | Noch nicht implementiert |
| supportedCommands
| Noch nicht implementiert | supportedQueries
| Noch nicht implementiert | supportedSystemStreams
| Noch nicht implementiert | dataStreams
[ { } ] | id
string | Eindeutige ID des Sensorwerts | title
string | Eindeutiger Name des Sensorwerts | measurement
{ } | type
string | Type des Sensorwerts (zB temperature) | unit
string | Einheit des Sensorwerts (zB centigrade) |
| range
{ } | min
number | Noch nicht implementiert | max
number | Noch nicht implementiert |
| type
string | Art des Sensorwerts
Mögliche Werte:ANALOG, DIGITAL |
|
|
DataStreamValue
Enthält Daten über einen aktuellen Sensorwert, wobei ein Werte in einer Nachricht versendet wird, d.h. ein Sensor erzeugt eine Nachricht pro Eingang pro Zeitintervall.
Beispiel (Luftqualitätssensor)
- {
- "messageId": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
- "header": {
- "message": "DataStreamValue",
- "bodySchema": "DataStreamValue-1.0.0",
- "trigger": {
- "type": "EVENT",
- "name": "SENSOR_DATA_SENT"
- },
- "createdAt": 1234567899000
- },
- "body": {
- "id": "01234567890abcdef01234567890abcd",
- "dataProviderId": "01234567890abcdef01234567890abcd",
- "timestamp": 1234567899000,
- "value": {
- "val": 123
- },
- "type": "RAW"
- }
- }
Schema
Die Beschreibung des Schemas in Form eines JSONSchema findet sich auch in den angehängten Dateien unter DataStreamValue-1.0.0.schema.json
messageId
string | Eindeutige ID der Message (UUID v4) |
header
{ } | message
string | Schema Name
Mögliche Werte:DataStreamValue | bodySchema
string | Schema Name/Version
Mögliche Werte:DataStreamValue-1.0.0 | trigger
{ } | type
string | Trigger Type (dzt. nur 'EVENT')
Mögliche Werte:EVENT | name
string | Trigger Type (dzt. nur 'SENSOR_DATA_SENT' (Sensor Daten gesendet)
Mögliche Werte:SENSOR_DATA_SENT |
| createdAt
number | Zeitstempel der Erstellung der Message (Unix Timestamp in Millisekunden) |
|
body
{ } | id
string | Stream ID | dataProviderId
string | Dataprovider (Sensor) ID | timestamp
number | Zeitstempel der Erfassung des Werts (Unix Timestamp in Millisekunden) | value
{ } | val
number | Sensorwert | rssi
number optional | Signalstärke/RSSI (Nur bei 'Signal Strength' Streams) | snr
number optional | Signal/Noise Ratio (SNR) (Nur bei 'Signal Strength' Streams) |
| type
string | Type des Werts (aktuell nur 'RAW')
Mögliche Werte:RAW |
|