====== 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"
}
]
}
]
}
]
}