|
|
en:mervis-scada:82-iot-api [2019/05/21 13:57] m.kulvejt |
en:mervis-scada:82-iot-api [2021/04/08 13:04] |
====== 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 ===== | |
| |
<code javascript> | |
{ | |
"controllers": [{ | |
"id": "AAABBBCCCDDDDDDAAAABBBSFSDFSFSFSDFSDFS", | |
"name": "Mervis Av., Building A", | |
"timestamp": "2019-04-18T15:58:59Z", | |
"period": "PT5M", | |
"variables": [{ | |
"id": "temperature_1", | |
"name": "Temperature", | |
"dataType": "float64", | |
"unit": "°C", | |
"values": [{ | |
"value": 23.0 | |
} | |
], | |
"level1_txt": "Area 52", | |
"level2_txt": "Building A", | |
"level3_txt": "AHU 89", | |
"level4_txt": "Floor 7", | |
"level5_txt": "Room 12" | |
}, { | |
"id": "relative_humidity_25", | |
"name": "RelativeHumidity", | |
"dataType": "float64", | |
"unit": "%", | |
"values": [{ | |
"value": 80.0 | |
} | |
], | |
"level1_txt": "Area 52", | |
"level2_txt": "Building A", | |
"level3_txt": "AHU 89", | |
"level4_txt": "Floor 7", | |
"level5_txt": "Room 12" | |
} | |
] | |
} | |
] | |
} | |
</code> | |
| |
| |
| |
===== Full Example ===== | |
| |
| |
<code javascript> | |
{ | |
"controllers": [{ | |
"id": "AAABBBCCCDDDDDDAAAABBBSFSDFSF", //Unique ID that you can get from sales@mervis.info | |
"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 | |
"period": "PT5M", //Default sample interval. May be overridden in the "Values" section | |
"levels": [{ //Levels are used to further identify data | |
"id": 1, //Here is a list of "known" Levels that can be later | |
"name": "AHU 89" //referenced from each variable. | |
}, { | |
"id": 2, | |
"name": "Building A" | |
}, { | |
"id": 3, | |
"name": "Area 52" | |
} | |
], | |
"variables": [{ | |
"id": "xxxxxxxzzzzzzz", //Inique ID of the variable within this controller ID | |
"name": "Outside temperature", //User description of the variable | |
"dataType": "float64", //float64, string, int64, uint64, bool, datetime | |
"unit": "°C", | |
"values": [{ //One or more measured value records | |
"timestamp": "2019-04-18T15:55:59Z",//Overrides default timestamp | |
"period": "PT10M", //Overrides default interval | |
"value": 23.0 //measured value of "dataType" type | |
}, { | |
"timestamp": "2019-04-18T15:58:59Z", | |
"value": 23.2 | |
} | |
], | |
"level1_idx": 3, //you can either use Level index to previously defined Levels | |
"level2_idx": 2, | |
"levelX_idx": 1, | |
"level1_txt": "Area 52", //or directly define the Level name | |
"level2_txt": "AHU 89", | |
"levelX_txt": "Building A", | |
"tags": [{ //arbitrary array of tags | |
"name": "technology_id", //tag name - string | |
"value": "VZT1", //tag value - string | |
"type": "string" //string, bool | |
}, { | |
"name": "area", | |
"value": "256", | |
"type": "number" | |
} | |
] | |
} | |
] | |
} | |
] | |
} | |
</code> | |
| |
| |
| |