Both sides previous revision
Previous revision
Next revision
|
Previous revision
Next revision
Both sides next revision
|
en:mervis-scada:82-iot-api [2019/05/17 14:04] m.chlupac |
en:mervis-scada:82-iot-api [2019/05/21 13:57] m.kulvejt |
====== IoT API ====== | ====== IoT API ====== |
| |
| You can send measured data to Mervis via several APIs. The IoT API is the most flexible one - you can define custom Levels and Tags to be used for later data processing and Mervis SCADA project generation. |
| |
===== Simple Example ===== | ===== Simple Example ===== |
"timestamp": "2019-04-18T15:58:59Z", | "timestamp": "2019-04-18T15:58:59Z", |
"period": "PT5M", | "period": "PT5M", |
"variable": [{ | "variables": [{ |
"id": "xxxxxxxzzzzzzz", | "id": "temperature_1", |
"name": "Temperature", | "name": "Temperature", |
"dataType": "float64", | "dataType": "float64", |
"level5_txt": "Room 12" | "level5_txt": "Room 12" |
}, { | }, { |
"id": "xxxxxxxzzzzzzz", | "id": "relative_humidity_25", |
"name": "RelativeHumidity", | "name": "RelativeHumidity", |
"dataType": "float64", | "dataType": "float64", |
{ | { |
"controllers": [{ | "controllers": [{ |
"id": "AAABBBCCCDDDDDDAAAABBBSFSDFSFSFSDFSDFS", //Unique ID that you can get from sales@mervis.info | "id": "AAABBBCCCDDDDDDAAAABBBSFSDFSF", //Unique ID that you can get from sales@mervis.info |
"name": "Mervis Av., Building A", //User description of the site or controller | "name": "Mervis Av., Building A", //User description of the site or controller |
"timestamp": "2019-04-18T15:58:59Z", //Default timestamp of the values. May be overridden in the "Values" section | "timestamp": "2019-04-18T15:58:59Z", //Default timestamp of the values. May be overridden in the "Values" section |
"period": "PT5M", //Default sample interval. May be overridden in the "Values" section | "period": "PT5M", //Default sample interval. May be overridden in the "Values" section |
"levels": [{ //Levels are used to further identify data | "levels": [{ //Levels are used to further identify data |
"id": 1, //Here is a list of "known" Levels that can be later | "id": 1, //Here is a list of "known" Levels that can be later |
"name": "AHU 89" //referenced from each variable. | "name": "AHU 89" //referenced from each variable. |
}, { | }, { |
"id": 2, | "id": 2, |
} | } |
], | ], |
"variable": [{ | "variables": [{ |
"id": "xxxxxxxzzzzzzz", //Inique ID of the variable within this controller ID | "id": "xxxxxxxzzzzzzz", //Inique ID of the variable within this controller ID |
"name": "Outside temperature", //User description of the variable | "name": "Outside temperature", //User description of the variable |
"dataType": "float64", //float64, string, int64, uint64, bool, datetime | "dataType": "float64", //float64, string, int64, uint64, bool, datetime |
"unit": "°C", | "unit": "°C", |
"values": [{ //One or more measured value records | "values": [{ //One or more measured value records |
"timestamp": "2019-04-18T15:55:59Z", //Overrides default timestamp | "timestamp": "2019-04-18T15:55:59Z",//Overrides default timestamp |
"period": "PT10M", //Overrides default interval | "period": "PT10M", //Overrides default interval |
"value": 23.0 //measured value of "dataType" type | "value": 23.0 //measured value of "dataType" type |
}, { | }, { |
"timestamp": "2019-04-18T15:58:59Z", | "timestamp": "2019-04-18T15:58:59Z", |
} | } |
], | ], |
"level1_idx": 3, //you can either use Level index to previously defined Levels or | "level1_idx": 3, //you can either use Level index to previously defined Levels |
"level2_idx": 1, | "level2_idx": 2, |
"levelX_idx": 2, | "levelX_idx": 1, |
"level1_txt": "Area 52", //directly define the Level name | "level1_txt": "Area 52", //or directly define the Level name |
"level2_txt": "AHU 89", | "level2_txt": "AHU 89", |
"levelX_txt": "Building A", | "levelX_txt": "Building A", |
"tags": [{ //arbitrary array of tags | "tags": [{ //arbitrary array of tags |
"name": "technology_id", //tag name - string | "name": "technology_id", //tag name - string |
"value": "VZT1", //tag value - string | "value": "VZT1", //tag value - string |
"type": "string" //string, bool | "type": "string" //string, bool |
}, { | }, { |
"name": "area", | "name": "area", |