Gå til innhold
  • Bli medlem
Støtt hjemmeautomasjon.no!

Elvia API for dummies


Vaskeklut

Anbefalte innlegg

Jeg ble frustrert over dårlig dokumentasjon på Elvia sine API, så jeg tenkte jeg skulle prøve å hjelpe andre som eventuelt sitter fast.

 

grid-tariff vil gi deg de variable nettleieprisene når det trer i kraft, nå får du bare flate priser.

  1. Logg inn på https://elvia.portal.azure-api.net/
  2. Trykk på Products
  3. Trykk på Grid Tariff
  4. Trykk på Add subscription
  5. Vent en stund, og gå inn på profil og finn din primary key

Function setter du opp slik:

msg.headers = {};
msg.headers['Content-Type'] = 'application/json'
msg.headers['Cache-Control'] = 'no-cache'
msg.headers['Ocp-Apim-Subscription-Key'] = '' // Her limer du inn "Primary key"

msg.payload = {
    "meteringPointIds": [""] // Her skriver du inn målepunkt-id for din måler
}

return msg;

 

http request noden settes opp med

Method: POST

URL: https://elvia.azure-api.net/grid-tariff/api/1/tariffquery/meteringpointsgridtariffs

 

maxhours gir deg timene med størst forbruk siste to månedene (spesifikt fra starten av forrige måned frem til i dag). Dette kan kanskje være nyttig for å ha noe å regulere etter når man skal prøve å holde effektleddet så lavt som mulig.

  1. Logg inn på min side på elvia.no
  2. Gå til Tilganger
  3. Trykk Opprett token og kopier teksten

Function setter du opp slik:

msg.headers = {};
msg.headers['Content-Type'] = 'application/json'
msg.headers['Cache-Control'] = 'no-cache'
msg.headers['Authorization'] = 'Bearer '; // etter Bearer og mellomrom limer du inn token fra elvia.no

msg.url = "https://elvia.azure-api.net/customer/metervalues/api/v1/maxhours?meteringPointIds=" // Legg inn målepunkt-id på slutten

return msg;

 

http request noden settes opp med

Method: GET

Ellers ingenting.

 

Flow:

[{"id":"44491cbe5bb02246","type":"tab","label":"Elvia","disabled":false,"info":"","env":[]},{"id":"5f476984c1923aaa","type":"inject","z":"44491cbe5bb02246","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":180,"y":200,"wires":[["25e9320fbe0b8566"]]},{"id":"25e9320fbe0b8566","type":"function","z":"44491cbe5bb02246","name":"","func":"msg.headers = {};\nmsg.headers['Content-Type'] = 'application/json'\nmsg.headers['Cache-Control'] = 'no-cache'\nmsg.headers['Ocp-Apim-Subscription-Key'] = '' // Her limer du inn \"Primary key\"\n\nmsg.payload = {\n    \"meteringPointIds\": [\"\"] // Her skriver du inn målepunkt-id for din måler\n}\n\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":340,"y":200,"wires":[["129b285ee4decfba"]]},{"id":"129b285ee4decfba","type":"http request","z":"44491cbe5bb02246","name":"grid-tariff","method":"POST","ret":"txt","paytoqs":"ignore","url":"https://elvia.azure-api.net/grid-tariff/api/1/tariffquery/meteringpointsgridtariffs","tls":"","persist":false,"proxy":"","authType":"","senderr":false,"credentials":{},"x":500,"y":200,"wires":[["39d9fcb35f100f4b"]]},{"id":"d6a1d6ea472c5df2","type":"function","z":"44491cbe5bb02246","name":"","func":"msg.headers = {};\nmsg.headers['Content-Type'] = 'application/json'\nmsg.headers['Cache-Control'] = 'no-cache'\nmsg.headers['Authorization'] = 'Bearer '; // etter Bearer og mellomrom limer du inn token fra elvia.no\n\nmsg.url = \"https://elvia.azure-api.net/customer/metervalues/api/v1/maxhours?meteringPointIds=\" // Legg inn målepunkt-id på slutten\n\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":340,"y":300,"wires":[["54605a746a3db653"]]},{"id":"4a08797ef340b7a1","type":"inject","z":"44491cbe5bb02246","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payloadType":"date","x":180,"y":300,"wires":[["d6a1d6ea472c5df2"]]},{"id":"54605a746a3db653","type":"http request","z":"44491cbe5bb02246","name":"maxhours","method":"GET","ret":"txt","paytoqs":"ignore","url":"","tls":"","persist":false,"proxy":"","authType":"","senderr":false,"credentials":{},"x":500,"y":300,"wires":[["e9a0fb61354f0f30"]]},{"id":"62c9cb26f7da09ec","type":"debug","z":"44491cbe5bb02246","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":830,"y":300,"wires":[]},{"id":"e9a0fb61354f0f30","type":"json","z":"44491cbe5bb02246","name":"","property":"payload","action":"","pretty":false,"x":670,"y":300,"wires":[["62c9cb26f7da09ec"]]},{"id":"9abc072770e37797","type":"debug","z":"44491cbe5bb02246","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":830,"y":200,"wires":[]},{"id":"39d9fcb35f100f4b","type":"json","z":"44491cbe5bb02246","name":"","property":"payload","action":"","pretty":false,"x":670,"y":200,"wires":[["9abc072770e37797"]]}]

 

ElviaAPI.PNG

  • Like 1
Lenke til kommentar
Del på andre sider

Takk for god informasjon @Vaskeklut

Jeg greier å få ut tarifftyper og priser pr. tariff.

Men får ikke helt dreisen på å få informasjon om pris og tarifftype

Har du bedre hell enn meg?

 

Kjører denne i function node:

msg.headers = {};
msg.headers['Ocp-Apim-Subscription-Key'] = 'xxxxxxxxxxxxxxxxxxxxxxxxxx' // Her limer du inn "Primary key"
msg.payload = {
    "range": "today",
    "meteringPointIds": ["xxxxxxxxxxxxxxxxxxxxxxx"] // Her skriver du inn målepunkt-id for din måler
}

return msg;

 

slik i http request node:

image.png.f0cbc5330e2ac66fd777370ab1b6e10b.png

 

men får bare dette i retur:

image.png.30ec8bfec255c045f4ba4c2133e77237.png

 

Ser ut som jeg får ok på min request men ingen fornuftig informasjon følger i payload.

Lenke til kommentar
Del på andre sider

  • 2 uker senere...

Har trøbbel med denne jeg også..

 

Her feiler den på at målepunktid`n min tydeligvis ikke er i rett format. ( Har redigert de siste tallene i den til bare "0" for anonymisering..)

 

Quote
10.12.2021, 15:33:45node: 62c9cb26f7da09ecmsg : Object

object

_msgid: "675687fc807529af"
payload: object
type: "https://tools.ietf.org/html/rfc7231#section-6.5.1"
title: "One or more validation errors occurred."
status: 400
traceId: "00-7d62625aa97bfc40b9816b70c6b574c0-c68c52c3203ae143-00"
errors: object
MeteringPointIds: array[1]
0: "The list contain items that fail the validation pattern '^[0-9]{18}$'."
topic: ""
headers: object
transfer-encoding: "chunked"
content-type: "application/json; charset=utf-8"
vary: "Accept-Encoding"
request-context: "appId=cid-v1:0784aec0-42b5-4d24-8f2d-595561dff4d9"
strict-transport-security: "max-age=63072000; includeSubDomains; preload"
date: "Fri, 10 Dec 2021 14:33:45 GMT"
connection: "close"
x-node-red-request-node: "ab9c0d88"
url: "https://elvia.azure-api.net/customer/metervalues/api/v1/maxhours?meteringPointIds=7359992800000000"
statusCode: 400
responseUrl: "https://elvia.azure-api.net/customer/metervalues/api/v1/maxhours?meteringPointIds=735999280000000

 

Lenke til kommentar
Del på andre sider

Bli med i samtalen

Du kan publisere innhold nå og registrere deg senere. Hvis du har en konto, logg inn nå for å poste med kontoen din.

Gjest
Skriv svar til emnet...

×   Du har limt inn tekst med formatering.   Lim inn uten formatering i stedet

  Du kan kun bruke opp til 75 smilefjes.

×   Lenken din har blitt bygget inn på siden automatisk.   Vis som en ordinær lenke i stedet

×   Tidligere tekst har blitt gjenopprettet.   Tøm tekstverktøy

×   Du kan ikke lime inn bilder direkte. Last opp eller legg inn bilder fra URL.

×
×
  • Opprett ny...

Viktig informasjon

Vi har plassert informasjonskapsler/cookies på din enhet for å gjøre denne siden bedre. Du kan justere dine innstillinger for informasjonskapsler, ellers vil vi anta at dette er ok for deg.