EVO Metering API — Snabbguide
Syfte
Detta är en kundguide för hur du hämtar mätarmetadata och tidsbaserade mätvärden (energidata, volym, temperaturer, etc.) från din Elvaco Evo-miljö. API:et är optimerat för frekvent, lättviktig polling och enkel integrering i byggnadsanalyssystem, energidashboards och dataplattformsapplikationer.
Snabba fakta
| Egenskap | Detaljer |
|---|---|
| Bas-URL |
|
| Autentisering |
Bearer-token i |
| Versionslivscykel |
Föråldrade versioner förblir tillgängliga i 3 månader efter avisering |
| Designad användning |
Begär data för flera mätare och kvantiteter över ett tidsfönster med en vald upplösning |
Autentisering
Alla förfrågningar kräver en Bearer-token. Du måste inkludera den i Authorization-headern.
-
Format:
Authorization: Bearer <din-token> - Viktigt: Tokens är tidsbegränsade. Du måste förnya dem innan utgångsdatum via tokenförnyelseprocessen i EVO.
Översikt över slutpunkter
API:et tillhandahåller tre huvudsakliga slutpunkter:
| Metod | Sökväg | Syfte | Anmärkningar |
|---|---|---|---|
| POST | /api/v1/measurements |
Hämta mätvärden för en eller flera mätare över en period med en vald upplösning och kvantitet. |
Upp till 200 mätar-ID:n. Begränsning på cirka 2,5 miljoner värden per svar. |
| GET | /api/v1/meters |
Lista mätare med filtrering och paginering. |
Filtrera efter anläggning ( |
| GET | /api/v1/meters/{id} |
Hämta fullständiga detaljer för en specifik mätare. |
Returnerar plats, gateway, larm, intervaller, m.m. |
Tillgängliga upplösningar
all, hour, day, month, oneMinute, fiveMinute, tenMinute, fifteenMinute, thirtyMinute
Exempel på kvantiteter
- Energy (kWh/MWh)
- Volume (m³)
- Flow (m³/h)
- Power (W/kW)
- Forward/Return/Δ Temperature (°C/K)
- External temperature (°C)
- Relative humidity (%)
- Energy return
- Energy cooling
- CO₂ (ppm)
-
RSSI (dBm)
1) Hämta mätvärden
POST /api/v1/measurements — Hämta mätvärden för valda mätare och kvantiteter.
Exempel på förfrågan
{
"ids": ["b1c9e3b1-1111-2222-3333-7f9b6c1a0001", "b1c9e3b1-1111-2222-3333-7f9b6c1a0002"],
"reportAfter": "2025-10-01T00:00:00Z",
"reportBefore": "2025-10-31T23:59:59Z",
"resolution": "hour",
"quantities": [
{ "name": "Energy", "unit": "kWh", "asConsumption": true },
{ "name": "Forward temperature", "unit": "°C", "asConsumption": false }
]
}Exempel på svar
[
{
"id": "b1c9e3b1-1111-2222-3333-7f9b6c1a0001",
"quantity": "Energy",
"unit": "kWh",
"facility": "FAC-123",
"meterName": "Main heat meter",
"medium": "District heating",
"values": [
{ "when": "2025-10-01T00:00:00Z", "value": 42.7 },
{ "when": "2025-10-01T01:00:00Z", "value": 41.9 }
]
}
]Fel: 400 Bad Request (ogiltig/saknad kropp).
2) Lista mätare
GET /api/v1/meters — Paginering och filtrering av mätare.
Vanliga filter
| Filter | Typ | Exempel |
|---|---|---|
facility |
Array av anläggnings-ID | |
meterName |
Array av namn | |
city, address |
Hierarkisk form | sverige;kungsbacka;kabelgatan,2T |
medium |
Typ av media |
District heating, Water, Electricity, m.fl. |
gatewaySerial |
Array av serienummer | |
alarm=true |
Boolesk | Endast mätare med aktiva larm |
reported=true |
Boolesk | Mätare som rapporterats som felaktiga |
Paginering och sortering
-
Paginering:
page(0-baserad, standard: 0),size(standard: 20). -
Sortering:
sort=egenskap,(asc|desc)— kan upprepas.
Exempel på svar
{
"content": [
{
"id": "f2c0…",
"facility": "FAC-123",
"meterName": "Main heat meter",
"location": {
"country": "SE","city": "Kungsbacka","address": "Kabelgatan 2T",
"zip": "43437","latitude": 57.5,"longitude": 12.0,"confidence": 0.9
},
"medium": "District heating",
"manufacturer": "Elvaco",
"readIntervalMinutes": 60,
"gatewaySerial": "GW123456",
"isReported": false,
"alarms": [
{ "code": 101, "description": "Battery low" }
]
}
],
"totalElements": 123,
"totalPages": 7
}Fel: 400 Bad Request (ogiltiga parametrar).
3) Hämta enskild mätare
GET /api/v1/meters/{id} — Fullständiga detaljer för en enskild mätare.
Exempel på svar
{
"id": "f2c0…",
"facility": "FAC-123",
"meterName": "Main heat meter",
"medium": "District heating",
"manufacturer": "Elvaco",
"created": "2025-01-15T12:34:56Z",
"isReported": false,
"readIntervalMinutes": 60,
"location": {
"country": "SE","city": "Kungsbacka","address": "Kabelgatan 2T",
"zip": "43437","latitude": 57.5,"longitude": 12.0,"confidence": 0.9
},
"alarms": [{ "code": 101, "description": "Battery low" }],
"revision": 2,
"mbusDeviceType": 3,
"gateway": {
"productModel": "CMe3100",
"serial": "GW123456",
"ip": "192.0.2.10",
"phoneNumber": "+4670..."
}
}Fel: 404 Not Found (om mätaren inte hittas).
4) Utvecklingsresurser
För fullständig, interaktiv dokumentation och möjlighet till testning, rekommenderar vi att du använder vår Swagger-sida. Den innehåller detaljerade beskrivningar av samtliga slutpunkter, datamodeller och felkoder.
Swagger-dokumentation: https://evo.elvaco.se/api-doc/swagger-ui/index.html?configUrl=%2Fapi-doc%2Fswagger-config&urls.primaryName=Metering
Praktiska tips
- Dela upp stora hämtningar i mindre delar för att hålla dig inom gränserna och snabba upp svaren (t.ex. per vecka eller mätargrupp).
-
Använd
asConsumption=trueför kvantiteter som Energi för att få periodförbrukningen. AnvändasConsumption=falseför att få råa avläsningar (råvärden). Rekommendation är att köra "false". -
Välj den lägsta fungerande upplösningen (t.ex.
houristället föroneMinute) om du inte behöver finare granularitet. -
Felhantering: Fel returnerar en JSON body med fälten
messageochstatus. Hantera felkoderna 400 (Bad Request) och 404 (Not Found).
Vid problem med API-åtkomst
För åtkomst, support eller hantering av token, vänligen kontakta Elvacos support.
Kommentarer (0 kommentarer)