Jump to content
  • Sign Up
Støtt hjemmeautomasjon! 🥇🥈🥉

Recommended Posts

Posted (edited)

Lurer på om det er noen som har kontroll på Nordpool sitt API.

Jeg ønsker å laste ned prisene direkte, ikke via Home Assistant eller tilsvarende systemer. Jeg er dermed ute etter HTTP REQUEST informasjonen for å laste ned det jeg trenger.

 

Bruker jeg https://www.nordpoolgroup.com/api/marketdata/page/23?currency=NOK så får jeg alle prisene som jeg trenger. Men jeg skulle gjerne vite hvordan jeg filtrerer slik at jeg kun sitter igjen med området jeg tilhører. Jeg sliter med at min logikk går i stå fordi svaret fra nordpool blir for langt. Håpet er at en filtrert versjon skal kunne fungere.

Som dere ser er det allerede spesifisert "currency=NOK" og det fungerer. Men har ikke fått til å spesifisere mer.

 

Jeg forsøker også å lese litt på https://github.com/custom-components/nordpool uten å bli klok på hvordan requestene der sendes.

 

PS! Spørsmålet er ikke om hva Tibber kan og ikke 😉

Edited by bergen77
Posted
23 minutes ago, stigvi said:

Tipper nordpool komponenten du har sett på hos github bruker en eller annen nordpool sak hos pypi.org

Den bruker nok akkurat samme adresse om jeg leser koden rett, det refereres til side 23 for norske priser blandt annet. Utfordringen er at det blir så svært, 4700 linjer!
Skulle gjerne filtrert bort områdene jeg ikke skal bruke iallefall.

Posted

Har ikkje Nordpool restriksjoner på datascraping?
Få deg heller api nøkkel her https://m-transparency.entsoe.eu/transmission-domain/r2/dayAheadPrices/show?name=&defaultValue=false&viewType=GRAPH&areaType=BZN&atch=false&dateTime.dateTime=08.11.2021+00:00|CET|DAY&dateTime.timezone=CET_CEST&dateTime.timezone_input=CET+(UTC+1)+/+CEST+(UTC+2)&biddingZone.values=CTY|10YNO-0--------C!BZN|10YNO-1--------2&resolution.values=PT60M


Sent fra min SM-G991B via Tapatalk

  • Like 1
Posted

Nordpool har ikke restriksjoner på akkurat denne så den kan i utgangspunktet fungere. Men jeg sliter med at systemet mitt ikke takler alle de 4700 linjene i svaret som kommer fra Nordpool. Ser man nederst i svaret kan det se ut som at man ikke kan endre på mere enn dato, valuta og side (land).

Entsoe har merkelig oppsett og mangler norsk valuta. 

Posted
Nordpool har ikke restriksjoner på akkurat denne så den kan i utgangspunktet fungere. Men jeg sliter med at systemet mitt ikke takler alle de 4700 linjene i svaret som kommer fra Nordpool. Ser man nederst i svaret kan det se ut som at man ikke kan endre på mere enn dato, valuta og side (land).
Entsoe har merkelig oppsett og mangler norsk valuta. 
Vel, Nordpool har eksplisitt forbud mot "Automatic extraction". Tilgang til Nordpool api er relativt kostbart. Dette burde sjølvsagt vore gratis for privat bruk.

Entso format er XML, det er vel kurant?
Valuta er EUR, men mange andre valuta er lista opp i Entso-e codelist, men eg har ikkje sett på om det er mulig å bruke i query parameter.






  • Like 1
Posted
25 minutes ago, erikolaulvestad said:

Vel, Nordpool har eksplisitt forbud mot "Automatic extraction". Tilgang til Nordpool api er relativt kostbart. Dette burde sjølvsagt vore gratis for privat bruk.
Entso format er XML, det er vel kurant?
Valuta er EUR, men mange andre valuta er lista opp i Entso-e codelist, men eg har ikkje sett på om det er mulig å bruke i query parameter.

Tror ikke vi skal bruke tid på å diskutere det forbudet. De aller fleste requestene til Nordpool må autentiseres, med noen få unntak. Jeg regner med det er en grunn til at disse sidene er unntatt. Jeg synest det er temmelig idiotisk å tvinge frem disse strømmodellene uten å samtidig legge til rette for at sluttkundene skal kunne automatisere sitt forbruk. Jeg har forsøkt Entso før og det var rotete. Spørsmålet nå var om det var mulig å redusere nordpool sitt svar, men virker som filtrene som kan brukes er oppgitt helt på slutten av responsen.

  • 2 years later...
  • 4 weeks later...
  • 9 months later...
Posted
OlavT skrev (3 timer siden):

Noen andre som har hatt problemer med ENTSO-E i løpet av fredag / helgen / i dag?


Det kom en ny versjon av integrasjonen til Home Assistant for et par dager siden pga endringer i xml data. Hvordan henter du ned fra entso-e?

Posted
14 hours ago, stigvi said:


Det kom en ny versjon av integrasjonen til Home Assistant for et par dager siden pga endringer i xml data. Hvordan henter du ned fra entso-e?

 

De hadde oppdatert XML-formatet. Litt irriterende at de endrer slikt uten å innføre versjonering.

Posted

Eg kom over denne fiksen til Node-Red 🙂

https://github.com/zinen/node-red-contrib-nordpool-api-plus/issues/29
 

[{"id":"2765952914cdad1a","type":"function","z":"239899b1c9538b9e","name":"today","func":"msg.url = \"https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?market=DayAhead&deliveryArea=NO5&currency=NOK&date=\" + \n    dateAndTime.format(new Date(), \"YYYY-MM-DD\");\n\nreturn msg;","outputs":1,"timeout":"","noerr":0,"initialize":"","finalize":"","libs":[{"var":"dateAndTime","module":"date-and-time"}],"x":530,"y":1150,"wires":[["cabf2f816c7ba579"]]},{"id":"cabf2f816c7ba579","type":"http request","z":"239899b1c9538b9e","name":"","method":"GET","ret":"obj","paytoqs":"ignore","url":"","tls":"","persist":false,"proxy":"","insecureHTTPParser":false,"authType":"","senderr":false,"headers":[],"x":710,"y":1150,"wires":[["2b5aec917fc92b34"]]},{"id":"8116ad949393a27b","type":"inject","z":"239899b1c9538b9e","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":380,"y":1150,"wires":[["2765952914cdad1a"]]},{"id":"51b305ddabab82db","type":"function","z":"239899b1c9538b9e","name":"tomorrow","func":"let d = new Date();\nd.setDate(d.getDate() + 1)\n\nmsg.url = \"https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?market=DayAhead&deliveryArea=NO5&currency=NOK&date=\" + \n    dateAndTime.format(d, \"YYYY-MM-DD\");\n\nreturn msg;","outputs":1,"timeout":"","noerr":0,"initialize":"","finalize":"","libs":[{"var":"dateAndTime","module":"date-and-time"}],"x":540,"y":1200,"wires":[["96e3baeb7dcb0c7f"]]},{"id":"96e3baeb7dcb0c7f","type":"http request","z":"239899b1c9538b9e","name":"","method":"GET","ret":"obj","paytoqs":"ignore","url":"","tls":"","persist":false,"proxy":"","insecureHTTPParser":false,"authType":"","senderr":false,"headers":[],"x":710,"y":1200,"wires":[["862b6d93e5d131b1"]]},{"id":"e9e72d5edfe91a01","type":"inject","z":"239899b1c9538b9e","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":380,"y":1200,"wires":[["51b305ddabab82db"]]},{"id":"2b5aec917fc92b34","type":"debug","z":"239899b1c9538b9e","name":"today","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":870,"y":1150,"wires":[]},{"id":"862b6d93e5d131b1","type":"debug","z":"239899b1c9538b9e","name":"tomorrow","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":880,"y":1200,"wires":[]}]

 

Så bruker eg denne til å ta ut pris denne timen

 

[{"id":"78efa3595b1c52e7","type":"function","z":"239899b1c9538b9e","name":"price_now","func":"var entries = msg.payload.multiAreaEntries;\n\n// Get current time in UTC\nvar now = new Date();\n\n// Function to convert UTC date strings to local time Date objects\nfunction utcToLocal(dateStr) {\n    var utcDate = new Date(dateStr);\n    // Get the UTC time value (milliseconds since epoch)\n    var utcTime = utcDate.getTime();\n    // Create a new Date object in local time\n    return new Date(utcTime + (now.getTimezoneOffset() * 60000));\n}\n\nfor (var i = 0; i < entries.length; i++) {\n    var entry = entries[i];\n    var deliveryStart = utcToLocal(entry.deliveryStart);\n    var deliveryEnd = utcToLocal(entry.deliveryEnd);\n\n    if (now >= deliveryStart && now < deliveryEnd) {\n        var price = entry.entryPerArea.NO5;\n        msg.payload = price;\n        return msg;\n    }\n}\n\n// If no matching entry is found, return an error message or null\nmsg.payload = \"Price not found for the current hour.\";\nreturn msg;\n","outputs":1,"timeout":0,"noerr":0,"initialize":"","finalize":"","libs":[],"x":580,"y":450,"wires":[["e457769b593e9b52","3074ef57be5821f9"]]}]

 

  • 2 months later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.