CMe3100 REST API Plugin
Dieses Dokument beschreibt die die Elvaco Rest-API und die Interaktionen innerhalb der vom CMe3100 Produkt bereitgestellten Ressourcen. Die Elvaco Rest-API bietet Zugang zu Ressourcen (Dateneinheiten) über URL-Pfade. Alle Aktionen über die API werden mit den Standard-HTTP-Methoden GET, POST, PUT und DELETE durchgeführt. Standard-HTTP-Antwortcodes, die zur Anzeige von Erfolgs- und Fehlerbedingungen verwendet werden.
Die Anfragedaten im Body werden im JSON-Format erwartet, und die Antwortdaten im Body werden ebenfalls im JSON-Format zurückgegeben.
Ein Statusobjekt im JSON-Format wird zurückgegeben, wenn eine Operation ausgeführt wurde, ohne dass eine Ergebniseinheit zurückgegeben wird.
{
Status: Statustext
}
Statustext: Record(s) not found / Parameter(s) not found / Success/ Error
HTTP-Statuscodes: 404 Not found / 404 Not found / 201 Created / 400 Bad request
Tipp
Die Elvaco-Weboberfläche bietet einen Testbereich für REST-API-Konfigurationen. Gehen Sie zu Konfiguration und klicken Sie auf Services>REST>HILFE>VERSUCHEN, um den Testbereich zu öffnen.
In der folgenden Tabelle finden Sie die Ressourcen der Elvaco Rest-API.
Tabelle 161. Liste der Rest-API-Ressourcen
|
Service |
Beschreibung |
|---|---|
|
/config |
Dienst zur Konfiguration von CMe3100, d. h. Änderung des TCP-Konsolenports, Einstellung des E-Mail-Servers usw. |
|
/console |
Dienst zum Ausführen von Konsolenbefehlen. d. h. einen Konsolenbefehl zur Anforderung von Momentanberichten per E-Mail ausführen. |
|
/datatable |
Dienst zum Abrufen der im System vorhandenen Datentabellen |
|
/dbtranslations |
Dienst zur Ermittlung von Datenbankübersetzungen, d. h. Hinzufügen/Aktualisieren neuer Übersetzungen zur oder in der Datenbank. |
|
/device |
Dienst zur Handhabung von Geräten, d. h. M-Bus-Slaves. |
|
/deviceType |
Dienst zur Bestimmung der Gerätetypen, d. h. Strom, Gas, Melder, Rauchmelder usw. |
|
/encryptionkey |
Dienst zur Ermittlung von Verschlüsselungscodes für M-BUS-Slaves. |
|
/log |
Dienst zur Überwachung von Protokollinformationen für verschiedene Schweregrade, d. h. -2 (Debug), -1 (Unbekannt), 0 (Info), 1 (Warnung), 2 (Fehler), 3 (Kritisch), 4 (Fatal), 5 (Ausnahme), 6 (Ereignis). |
|
/mdmdata |
Dienst zum Lesen historischer oder aktueller Daten aus verschiedenen Quellen. |
|
/mdmserie |
Dienst für normalisierte Werte/Zählerdaten von Geräten. |
|
/mdmseriestemplates |
|
|
/mdmsource |
Dienst zur Handhabung von Datenquellen für mdmseries, d. h. M-Bus, Funktionen usw. |
|
/mdmtag |
Dienst zur Ermittlung von Tags mit verwandten Messreihen. |
|
/operations for unit types |
|
|
/system |
|
|
/unit |
Dienst zur Bestimmung von Einheiten für eine Zählaktion, z. B. kW, GJ/h, Minute(n), Tag(e) usw. |
|
/user |
Dienst zur Bestimmung der Benutzer und ihrer Authentifizierungsrechte. |
|
/userlink |
Dienst zur Ermittlung der vom Benutzer hinzugefügten Links. |
|
/viewmdmdata |
Dienst zur Vereinfachung einer Entität, der den Fremdschlüssel von mdmdata mit lesbaren Daten kombiniert. |
|
/viewmdmserie |
Dienst für eine vereinfachte Entität, die den Fremdschlüssel von mdmdata mit lesbaren Daten kombiniert. |
Die Elvaco Rest-API basiert auf offenen Standards, jede Websprache kann für den Zugriff auf die API verwendet werden. Um die Elvaco Rest-API zu verwenden, sollte Ihre Anwendung eine HTTP-Anfrage machen und die Antwort analysieren. Grundlegende Authentifizierung erforderlich.
Basis-URL: http://yourserver:port /Elvaco-Rest/rest
Die von den Geräten gelesenen Daten werden in Messreihen normalisiert. Die Hauptbestandteile von Messreihen sind Quelle, Daten und Reihen.
Die Quelle einer Messreihe definiert die Quelle der Daten, die ein bestimmter von einem M-Bus-Slave gelesener Wert sein kann. Die Quelle kann auch verwendet werden, um mathematische Funktionen zur Berechnung von Daten aus einer oder mehreren Messreihen zu definieren. Eine Messreihe kann nur eine aktive Quelle haben
Die Serie definiert, wie Daten aus der Quelle an den Benutzer oder eine andere Schnittstelle veröffentlicht werden.
Die Daten der Messreihe enthalten Informationen über die Daten der Messreihe. Durch die Verwendung des Moduls kann, wenn die Daten numerisch sind, überwacht werden, welche Daten zu welcher Messreihe und Datenquelle etc. gehören.
In diesem Abschnitt werden wir ein Anwendungsszenario zeigen, um ein besseres Verständnis für die Nutzung der Elvaco Rest-API zu vermitteln. Nachfolgend finden Sie die Schritte des Szenarios sowie Beispielantworten und -anfragen.
|
Antwort |
|---|
|
"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",
|
Nachdem die Messreiheninformationen aufgelistet sind, kann der Benutzer die Messreihen-ID verwenden, um die Quelle der Messreihe zu bestimmen.
Um die Quellinformationen einer Messreihe abrufen zu können, sollte eine Anfrage mit der Messreihen-ID als Parameter gestellt werden.
|
Anfrage |
|---|
|
HTTP GET /Elvaco-Rest/rest/mdmsource/measurementSerieId/{measurementSerieId} HTTP GET /Elvaco-Rest/rest/mdmsource/measurementSerieId/241 |
|
Antwort |
|---|
|
"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
|
Wie auf dem Antwort-Body unten zu sehen, ist der Quellentyp M-Bus (M-Bus-Slave) für Messreihen mit der ID 241.
Mit den beiden obigen Abfragebeispielen können wir mdmserie - Messreiheninformationen und mdmsource - Messreihenquellinformationen abrufen. Jetzt werden mdmdata - Messreihen-Dateninformationen aufgelistet.
Die Ermittlung von Messreihen-Daten kann auf fünf verschiedene Arten mit unterschiedlichen Parametern erfolgen.
|
Anfrage |
|---|
|
HTTP GET /Elvaco-Rest/rest/mdmdata/all/limit/{limit}/offset/{offset} HTTP GET /Elvaco-Rest/rest/mdmdata/all/limit/100/offset/0 |
Anmerkung
Wenn zu viele mdmdata (Messreihen-Daten) angefordert werden, kann dies zu einer starken Belastung der Anwendung führen. Für diesen Fall wird die Verwendung von Grenzwert und Offset mit Paginierung vorgeschlagen.
|
Antwort |
|---|
|
"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
|
|
Anfrage |
|---|
|
HTTP GET /ElvacoRest/rest/mdmdata/measurementserieId/{measurementserieId}/limit/{limit}/offset/{offset} HTTP GET /Elvaco-Rest/rest/mdmdata/measurementserieId/241/limit/100/offset/0 |
|
Antwort |
|---|
|
"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
|
|
Anfrage |
|---|
|
HTTP GET /ElvacoRest/rest/mdmdata/measurementSerieId/{measurementSerieId}/latest/ {numberofread} HTTP GET /Elvaco-Rest/rest/mdmdata/measurementSerieId/693/latest/5 |
|
Antwort |
|---|
|
"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
|
|
Anfrage |
|---|
|
HTTP GET /ElvacoRest/rest/mdmdata/created/{created}/limit/{limit}/offset/{offset} HTTP GET /Elvaco-Rest/rest/mdmdata/created/1420448349000/limit/100/offset/0 |
|
Antwort |
|---|
|
"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
|
Die Anfrage liefert Messreihen-Daten aus der Abfrage, die mit einem Grenzwert und einem Offset erstellt wurde. Der erstellte Parameter sollte in Millisekunden angegeben werden.
|
Anfrage |
|---|
|
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 |
|
Antwort |
|---|
|
"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
|
Die Anfrage liefert Ihnen die Daten der Messreihen aus dem gewünschten Gültigkeitsbereich mit Grenzwert und Offset. Der Parameter für das Gültigkeitsdatum sollte in Millisekunden angegeben werden
Kommentare (0 Kommentare)