CMe3100 REST API Plugin
Detta dokument beskriver Elvaco Rest API och interaktioner inom resurser som tillhandahålls av CMe3100-produkten. Elvaco Rest API ger åtkomst till resurser (dataenheter) via URL-vägar. Alla åtgärder via API görs med hjälp av vanliga HTTP-metoder GET, POST, PUT och DELETE. Standard HTTP-svarskoder som används för att indikera framgång och feltillstånd.
Begärd data hittas som JSON, och svarsdata returneras som JSON.
Statusobjekt som JSON returnerar när en operation utförs utan att returnera resultatentitet.
{
status: Statustext
}
Statustext: Record(s) not found / Parameter(s) not found / Success/ Error
HTTP-statuskoder: 404 Not found / 404 Not found / 201 Created / 400 Bad request
Tips
Elvacos webbgränssnitt har ett testområde för REST API-konfigurationer. Gå till Konfiguration och klicka på Tjänster>REST>HJÄLP>Testa för att komma in i testområdet.
Använd följande tabell för att ta reda på resurserna för Elvaco Rest API.
Tabell 127. Lista över Rest API-resurser
Tjänster |
Beskrivning |
---|---|
/config |
Konfigureringstjänster CMe3100, det vill säga byte av TCP-konsolport, inställning av e-postserver etc. |
/console |
Tjänst för att utföra konsolkommandon. d.v.s. exekvera ett konsolkommando för att begära tillfälliga rapporter via e-post. |
/datatable |
Tjänst för att nå permanent datatabell inom systemet. |
/dbtranslations |
Tjänst för att fastställa databasöversättningar, d.v.s. lägga till/uppdatera nya översättningar till databasen. |
/device |
Service för hantering av enheter, det vill säga M-Busslavar. |
/deviceType |
Tjänst för bestämning av enhetstyper, det vill säga el, gas, detektor, rökdetektor mm. |
/encryptionkey |
Tjänst för bestämning av krypteringsnycklar för M-Busslavar. |
/log |
Tjänst för att övervaka logginformation för olika allvarlighetsgrad, det vill säga -2 (Debug), -1 (Okänd), 0 (Info), 1 (Varning), 2 (Fel), 3 (Kritisk), 4 (Farlig), 5 (Undantag), 6 (Händelse). |
/mdmdata |
Tjänst för att läsa historiska eller momentana data från olika källor. |
/mdmserie |
Tjänst för normaliserade värden/mätardata från enheter. |
/mdmseriestemplates |
|
/mdmsource |
Tjänst för hantering av datakälla för mdmseries, det vill säga M-Bus, funktioner etc. |
/mdmtag |
Tjänst för att bestämma taggar med tillhörande mätserier. |
/operations for unit types |
|
/system |
|
/unit |
Tjänst för att bestämma enheter för mätaråtgärder, det vill säga kW, GJ/h, minut(er), dag(ar) mm. |
/user |
Tjänst för att fastställa användare och deras autentiseringsrättigheter. |
/userlink |
Tjänst för att fastställa användarlänkar som har lagts till av användaren. |
/viewmdmdata |
Tjänst för enklare enhet som kombinerar mdmdata främmande nyckel med läsbar data. |
/viewmdmserie |
Tjänst för enklare enhet som kombinerar mdmseries främmande nyckel till läsbar data. |
Elvaco Rest API är baserat på öppna standarder, vilket webbspråk som helst kan användas för att komma åt API. För att använda Elvaco Rest API bör applikationen göra HTTP-begäran och analysera svaret. Grundläggande autentisering krävs.
Bas-URL: http://yourserver:port /Elvaco-Rest/rest
Data som läses från enheter normaliseras i mätserier. Huvuddelarna i mätserierna är källa, data och serier.
Källan för en mätserie definierar källan till data, vilket kan vara ett specifikt värde som läses från en M-Busslav. Källan kan också användas för att definiera matematiska funktioner för att beräkna data från en eller flera mätserier. En mätserie kan endast ha en aktiv källa
Mätseriens data innehåller information om mätseriens data. Genom användning av modulen; om data är numeriska tillhör data den mätserie och datakälla etc. som kan övervakas.
I det här avsnittet demonstrerar vi ett användningsfall för att visa hur man använder Elvaco Rest API. Nedan är stegen i scenariot och exempel på svar och förfrågningar.
Svar |
---|
"storageIntervalCron":"", "updateIntervalCron":"", "unitTypeID": 134, "updateOnNewData": false, "description": "Signal strenght in dBm", "expireTimeout": 0, "name": "Signal strenght", "measurementSerieId": 241, "unitId": 58, "apiIdentifier": "61000002-mbus.dib.rf-level.0.0.0.0" "deviceTypeId": "2", "calculationOrder": "0", "createdFromTemplateId": "9", "unitTypeId": 0, "priority": "1",
"storageIntervalCron": "", "updateIntervalCron": "", "unitTypeId": 167, "updateOnNewData": false, "description": "Indoor temperature", "expireTimeout": 0, "name": "Temperature", "measurementSerieId": 242, "unitId": 13, "apiIdentifier": "61000002-mbus.dib.ext-temp.0.0.0.0" "deviceTypeId": "2", "calculationOrder": "0", "createdFromTemplateId": "5", "unitTypeId": 5, "priority": "1",
|
Efter att mätserieinformationen har listats kan användaren använda mätserie-id för att bestämma mätseriekällan.
För att kunna få källinformationen till en mätserie måste förfrågan med mätserie-id som parameter begäras.
Begäran |
---|
HTTP GET /Elvaco-Rest/rest/mdmsource/measurementSerieId/{measurementSerieId} HTTP GET /Elvaco-Rest/rest/mdmsource/measurementSerieId/241 |
Svar |
---|
"sourceType": "mbus", "formatString": null, "constant": 1, "sourceData": "0.mbus.dib.rf-level.0.0.0.0.value", "created": 1418921380184, "measurementSeriesId": 241, "deactivated": -1, "sourceIdentifier": 61000002, "sourceId": 1147
|
Som framgår av svarstexten nedan är källtypen M-Bus (M-Busslav) för mätserier med id 241.
Två förfrågningsexempel ovan låter oss få information om mdmserie – mätserieinformation och mdmsource – mätseriens källinformation. Nu kommer information om mdmdata – mätseriedata att listas.
Att få mätseriedata kan bestämmas på fem olika sätt med olika parametrar.
Begäran |
---|
HTTP GET /Elvaco-Rest/rest/mdmdata/all/limit/{limit}/offset/{offset} HTTP GET /Elvaco-Rest/rest/mdmdata/all/limit/100/offset/0 |
Notera
Att begära för många mdmdata (mätseriedata)-entiteter kan skapa stor belastning på applikationen. I detta fall föreslås en användning av limit och offset med pagineringsimplementering.
Svar |
---|
"total_records": 38728, "limit": 100, "offset": 0, "values": [
"numeric": true, "status": 0, "created": 1418921232000, "value": 62000501, "sourceDate": 1418921230641, "measurementSerieId": 188, "effectiveDate": 1418921220000, "measurementSerieDataId": 204, "valueAsString": "62000501,000", "sourceId": 1094
"numeric": false, "status": 0, "created": 1418921235000, "value": 0, "sourceDate": 1418921230641, "measurementSerieId": 189, "effectiveDate": 1418921220000, "measurementSerieDataId": 205, "valueAsString": "1.6.3", "sourceId": 1095
"numeric": true, "status": 0, "created": 1418921237000, "value": 4, "sourceDate": 1418921230641, "measurementSerieId": 191, "effectiveDate": 1418921220000, "measurementSerieDataId": 207, "valueAsString": "4,000", "sourceId": 1097
|
Begäran |
---|
HTTP GET /ElvacoRest/rest/mdmdata/measurementserieId/{measurementserieId}/limit/{limit}/offset/{offset} HTTP GET /Elvaco-Rest/rest/mdmdata/measurementserieId/241/limit/100/offset/0 |
Svar |
---|
"total_records": 296, "limit": 100, "offset": 0, "values": [
"numeric": true, "status": 0, "created": 1418921380000, "value": -66, "sourceDate": 1418921374435, "measurementSerieId": 241, "effectiveDate": 1418921340000, "measurementSerieDataId": 257, "valueAsString": "-66,000", "sourceId": 1147
"numeric": true, "status": 0, "created": 1418925604000, "value": -66, "sourceDate": 1418925601121, "measurementSerieId": 241, "effectiveDate": 1418925600000, "measurementSerieDataId": 523, "valueAsString": "-66,000", "sourceId": 1147
|
Begäran |
---|
HTTP GET /ElvacoRest/rest/mdmdata/measurementSerieId/{measurementSerieId}/latest/ {numberofread} HTTP GET /Elvaco-Rest/rest/mdmdata/measurementSerieId/693/latest/5 |
Svar |
---|
"total_records": 337, "limit": 5, "offset": 0, "values": [
"numeric": false, "status": -1, "created": 1426169671000, "value": 0, "sourceDate": 1426169671682, "measurementSerieId": 693, "effectiveDate": 1426169640000, "measurementSerieDataId": 71619, "valueAsString": "N/A", "sourceId": 1599
"numeric": true, "status": 0, "created": 1426172404000, "value": 0, "sourceDate": 1426169667730, "measurementSerieId": 693, "effectiveDate": 1426172400000, "measurementSerieDataId": 71686, "valueAsString": "0,000", "sourceId": 1599
"numeric": true, "status": 0, "created": 1426176005000, "value": 0, "sourceDate": 1426172401560, "measurementSerieId": 693, "effectiveDate": 1426176000000, "measurementSerieDataId": 71753, "valueAsString": "0,000", "sourceId": 1599
"numeric": true, "status": 0, "created": 1426179605000, "value": 0, "sourceDate": 1426176001513, "measurementSerieId": 693, "effectiveDate": 1426179600000, "measurementSerieDataId": 71820, "valueAsString": "0,000", "sourceId": 1599
"numeric": true, "status": 0, "created": 1426183205000, "value": 0, "sourceDate": 1426179601471, "measurementSerieId": 693, "effectiveDate": 1426183200000, "measurementSerieDataId": 71887, "valueAsString": "0,000", "sourceId": 1599
|
Begäran |
---|
HTTP GET /ElvacoRest/rest/mdmdata/created/{created}/limit/{limit}/offset/{offset} HTTP GET /Elvaco-Rest/rest/mdmdata/created/1420448349000/limit/100/offset/0 |
Svar |
---|
"total_records": 8, "limit": 100, "offset": 0, "values": [
"numeric": true, "status": 0, "created": 1420448349000, "value": 16.44, "sourceDate": 1420448349043, "measurementSerieId": 188, "effectiveDate": 1420448340000, "measurementSerieDataId": 204, "valueAsString": "16,440", "sourceId": 1094
"numeric": true, "status": 0, "created": 1420448349000, "value": 24.03, "sourceDate": 1420448349043, "measurementSerieId": 189, "effectiveDate": 1420448340000, "measurementSerieDataId": 205, "valueAsString": "24,030", "sourceId": 1095
"numeric": true, "status": 0 "created": 1420448356000, "value": 16.51, "sourceDate": 1420448356214, "measurementSerieId": 190, "effectiveDate": 1420448340000, "measurementSerieDataId": 206, "valueAsString": "16,510", "sourceId": 1096
"numeric": true, "status": 0, "created": 1420448356000, "value": 23.990000000000002, "sourceDate": 1420448356214, "measurementSerieId": 191, "effectiveDate": 1420448340000, "measurementSerieDataId": 207, "valueAsString": "23,990", "sourceId": 1097
"numeric": true, "status": 0, "created": 1420448426000, "value": 16.44, "sourceDate": 1420448349043, "measurementSerieId": 188, "effectiveDate": 1420448400000, "measurementSerieDataId": 208, "valueAsString": "16,440", "sourceId": 1094
"sourceId": 1094 "status": 0, "created": 1420448426000, "value": 24.02, "sourceDate": 1420448425374, "measurementSerieId": 189, "effectiveDate": 1420448400000, "measurementSerieDataId": 209, "valueAsString": "24,020", "sourceId": 1095
"numeric": true, "status": 0, "created": 1420448426000, "value": 16.48, "sourceDate": 1420448425374, "measurementSerieId": 190, "effectiveDate": 1420448400000, "measurementSerieDataId": 210, "valueAsString": "16,480", "sourceId": 1096
"numeric": true, "status": 0, "created": 1420448426000, "value": 23.990000000000002, "sourceDate": 1420448425374, "measurementSerieId": 191, "effectiveDate": 1420448400000, "measurementSerieDataId": 211, "valueAsString": "23,990", "sourceId": 1097
|
Denna begäran returnerar mätseriedata från begärd skapad med limit och offset. Skapad parameter ska vara i millisekunder.
Begäran |
---|
HTTP GET /ElvacoRest/rest/mdmdata/effectiveDate/from/{from}/to/{to}/limit/{limit}/offset/{off set} HTTP GET /ElvacoRest/rest/mdmdata/effectiveDate/from/1420448340000/to/1420548400000/limit/100 /offset/0 |
Svar |
---|
"total_records": 204, "limit": 100, "offset": 0, "values": [
"numeric": true, "status": 0, "created": 1420448349000, "value": 16.44, "sourceDate": 1420448349043, "measurementSerieId": 188, "effectiveDate": 1420448340000, "measurementSerieDataId": 204, "valueAsString": "16,440", "sourceId": 1094
"numeric": true, "status": 0, "created": 1420448426000, "value": 23.990000000000002, "sourceDate": 1420448425374, "measurementSerieId": 191, "effectiveDate": 1420448400000, "measurementSerieDataId": 211, "valueAsString": "23,990", "sourceId": 1097
|
Begäran returnerar mätseriedata från begärt datumintervall med limit och offset. Effektiv datumparameter ska vara i millisekunder
Kommentarer (0 kommentarer)