IoT API
Naměřená data můžete do Mervisu odesílat prostřednictvím několika API. IoT API je nejflexibilnější – umožňuje definovat vlastní úrovně (Levels) a značky (Tags), které lze následně využít při zpracování dat a generování projektů v Mervis SCADA.
Jednoduchý příklad
{ "controllers": [{ "id": "AAABBBCCCDDDDDDAAAABBBSFSDFSFSFSDFSDFS", "name": "Mervis Av., Budova A", "timestamp": "2019-04-18T15:58:59Z", "period": "PT5M", "variables": [{ "id": "temperature_1", "name": "Temperature", "dataType": "float64", "unit": "°C", "values": [{ "value": 23.0 } ], "level_1_txt": "Area 52", "level_2_txt": "Building A", "level_3_txt": "AHU 89", "level_4_txt": "Floor 7", "level_5_txt": "Room 12" }, { "id": "relative_humidity_25", "name": "RelativeHumidity", "dataType": "float64", "unit": "%", "values": [{ "value": 80.0 } ], "level_1_txt": "Area 52", "level_2_txt": "Building A", "level_3_txt": "AHU 89", "level_4_txt": "Floor 7", "level_5_txt": "Room 12" } ] } ] }
- Vždy používejte časovou známku (timestamp) ve formátu UTC. V opačném případě dojde k výchozímu převodu času, který může být nespolehlivý – závisí na infrastruktuře a může se změnit při aktualizacích.
- Dostupné datové typy:
- float64
- string
- int64
- uint64
- bool
- datetime
Kompletní příklad
{ "controllers": [{ "id": "AAABBBCCCDDDDDDAAAABBBSFSDFSF", //Unikátní ID, které získáte na sales@mervis.info "name": "Mervis Av., Budova A", //Popis místa nebo zařízení "timestamp": "2019-04-18T15:58:59Z", //Výchozí časová známka pro všechna data. Může být přepsána v sekci "values" "period": "PT5M", //Výchozí interval vzorkování. Lze přepsat v "values". Viz: https://en.wikipedia.org/wiki/ISO_8601#Time_intervals "levels": [{ //Úrovně (Levels) slouží k identifikaci dat "id": 1, //Seznam známých úrovní, na které se lze odkazovat z proměnných "name": "AHU 89" }, { "id": 2, "name": "Building A" }, { "id": 3, "name": "Area 52" } ], "variables": [{ "id": "xxxxxxxzzzzzzz", //Unikátní ID proměnné v rámci tohoto controller ID "name": "Outside temperature", //Popis proměnné "dataType": "float64", //float64, string, int64, uint64, bool, datetime "unit": "°C", "values": [{ //Jedna nebo více naměřených hodnot "timestamp": "2019-04-18T15:55:59Z",//Přepisuje výchozí timestamp "period": "PT10M", //Přepisuje výchozí interval "value": 23.0 }, { "timestamp": "2019-04-18T15:58:59Z", "value": 23.2 } ], "level_1_idx": 3, //Odkaz na dříve definované úrovně pomocí indexu "level_2_idx": 2, "level_X_idx": 1, "level_1_txt": "Area 52", //Nebo lze úrovně definovat přímo jako text "level_2_txt": "AHU 89", "level_X_txt": "Building A", "tags": [{ //Libovolné značky (tags) "name": "technology_id", //Název značky – řetězec "value": "VZT1", //Hodnota značky – řetězec "type": "string" //string, bool }, { "name": "area", "value": "256", "type": "number" } ] } ] } ] }