CMe3100 REST API Plugin

Einführung

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.

Services

Liste von Diensten

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.


Dienste nutzen

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

REST-Services

Zugriff auf Zählerdaten

Die von den Geräten gelesenen Daten werden in Messreihen normalisiert. Die Hauptbestandteile von Messreihen sind Quelle, Daten und Reihen.

Quelle

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

Serie

Die Serie definiert, wie Daten aus der Quelle an den Benutzer oder eine andere Schnittstelle veröffentlicht werden.

Daten

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.

Beispiele

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.

Der Benutzer möchte alle Messreihen im System auflisten.

Anfrage

HTTP GET /Elvaco-Rest/rest/mdmserie/all

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.

Der Benutzer möchte die Quelle der Messreihe erfahren.

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.

Der Benutzer möchte Daten aus Messreihen erhalten.

Die Ermittlung von Messreihen-Daten kann auf fünf verschiedene Arten mit unterschiedlichen Parametern erfolgen.

Auflistung aller Messreihen-Daten mit Grenzwert und Offset.

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

}

]

}

Auflistung von Messreihen-Daten aus bestimmten Messreihen mit Grenzwert und Offset.

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

}

]

}

Auflistung der Daten der Messreihe mit der neuesten Ablesung.

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

}

]

}

Auflistung der Daten der Messreihe ab dem Zeitpunkt ihrer Erstellung mit Grenzwert und Offset.

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.

Auflistung von Messreihen-Daten mit Gültigkeitsdatum von/bis mit Grenzwert und Offset.

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

War dieser Beitrag hilfreich?

0 von 0 fanden dies hilfreich
Haben Sie Fragen? Anfrage einreichen

Kommentare (0 Kommentare)

Zu diesem Beitrag können keine Kommentare hinterlassen werden.