Here is an alternative method: GitHub - kipe/nordpool: Python library for fetching Nord Pool spot prices.
does this commando still work? I get no value in Putty when I try it.
which one ? Just tried following example and it seems to work
script contains:
#!/bin/sh
wget --quiet -O - 'https://www.nordpoolgroup.com/api/marketdata/page/47?currency=EUR&endDate=' | jq '.data.Rows[0].Columns[0].Value'
Executed on command line:
sh /tmp/a.sh
then returns:
"103,37"
it seems that it was a mistake in how I had set up static ip on my raspberry that was to blame for the problems. the commands and prices are now up and running again, thanks for the feedback.
Hi all, I managed to set up the HTTP binding to poll the values into OpenHAB, however I have a bit difficulty to convert the number with “,” as decimal separator to float numbers. Any suggestion what to do? Many thanks
Below is my things:
Thing http:url:NordPool "NordPool EL Price" [
baseURL="https://www.nordpoolgroup.com/api/marketdata/page/41?currency=DKK",
refresh=1000] {
Channels:
Type string : Price "Price" [stateTransformation="JSONPATH:$.data.Rows[0].Columns[1].Value" ]
}
And item:
Number NordPoolELPricePrice "Price" (gNordPool) {channel="http:url:NordPool:Price"[profile="transform:JS", function="nordPoolPrice.js"]}
As you can see I tried to use transform profile which doesn’t seem to take any effect.
hi, I know it’s a bit of an old thread, but how do you transfer the data to openhab, I’ve tried using the function node that was created as an example here node-red-contrib-nordpool-api-plus (node) - Node-RED
and then from that directly in to a number item, which also results in transferring the entire series of data to the same item. do you do it the same way or do use another approach?
Anders
Hi Anders, I was struggling to get openHAB or Influx to show a graph with data in the future, so I ended up with just created a page with web link to elspotpris.dk.
Only number I needed in openHAB is the Spot price including tax and vat. Big Timer change between low and high tax depending on the hour, each hour request to Nordpool, this also set time now to global.set, chart data add the tax and vat, a change switch filter out the spot price now and update the item from openHAB
Nordpool to openHAB.json (14.6 KB)
thank you, it works well
Here’s a solution which fetches the prices from Entso-E Transparency platform
Old thread, just an update that I believe that Nordpool has disabled the possibility to use “https://www.nordpoolgroup.com/api/marketdata/page”-request for fetching prices (my system stopped working two days ago, the 15th of October).
Looks like the API or at least the URL changed.
As I don’t use this service I can’t compare how the results looked before this change.
I just tried to access this URL
https://dataportal-api.nordpoolgroup.com/api/DayAheadPrices?date=2024-10-18&market=DayAhead&deliveryArea=GER¤cy=EUR
and got
{"deliveryDateCET":"2024-10-18","version":2,"updatedAt":"2024-10-17T10:56:02.6272302Z","deliveryAreas":["GER"],"market":"DayAhead","multiAreaEntries":[{"deliveryStart":"2024-10-17T22:00:00Z","deliveryEnd":"2024-10-17T23:00:00Z","entryPerArea":{"GER":80.95}},{"deliveryStart":"2024-10-17T23:00:00Z","deliveryEnd":"2024-10-18T00:00:00Z","entryPerArea":{"GER":81.16}},{"deliveryStart":"2024-10-18T00:00:00Z","deliveryEnd":"2024-10-18T01:00:00Z","entryPerArea":{"GER":82.73}},{"deliveryStart":"2024-10-18T01:00:00Z","deliveryEnd":"2024-10-18T02:00:00Z","entryPerArea":{"GER":78.84}},{"deliveryStart":"2024-10-18T02:00:00Z","deliveryEnd":"2024-10-18T03:00:00Z","entryPerArea":{"GER":81.19}},{"deliveryStart":"2024-10-18T03:00:00Z","deliveryEnd":"2024-10-18T04:00:00Z","entryPerArea":{"GER":84.34}},{"deliveryStart":"2024-10-18T04:00:00Z","deliveryEnd":"2024-10-18T05:00:00Z","entryPerArea":{"GER":98.89}},{"deliveryStart":"2024-10-18T05:00:00Z","deliveryEnd":"2024-10-18T06:00:00Z","entryPerArea":{"GER":149.78}},{"deliveryStart":"2024-10-18T06:00:00Z","deliveryEnd":"2024-10-18T07:00:00Z","entryPerArea":{"GER":156.24}},{"deliveryStart":"2024-10-18T07:00:00Z","deliveryEnd":"2024-10-18T08:00:00Z","entryPerArea":{"GER":111.00}},{"deliveryStart":"2024-10-18T08:00:00Z","deliveryEnd":"2024-10-18T09:00:00Z","entryPerArea":{"GER":95.76}},{"deliveryStart":"2024-10-18T09:00:00Z","deliveryEnd":"2024-10-18T10:00:00Z","entryPerArea":{"GER":85.30}},{"deliveryStart":"2024-10-18T10:00:00Z","deliveryEnd":"2024-10-18T11:00:00Z","entryPerArea":{"GER":82.96}},{"deliveryStart":"2024-10-18T11:00:00Z","deliveryEnd":"2024-10-18T12:00:00Z","entryPerArea":{"GER":80.20}},{"deliveryStart":"2024-10-18T12:00:00Z","deliveryEnd":"2024-10-18T13:00:00Z","entryPerArea":{"GER":81.19}},{"deliveryStart":"2024-10-18T13:00:00Z","deliveryEnd":"2024-10-18T14:00:00Z","entryPerArea":{"GER":84.34}},{"deliveryStart":"2024-10-18T14:00:00Z","deliveryEnd":"2024-10-18T15:00:00Z","entryPerArea":{"GER":103.29}},{"deliveryStart":"2024-10-18T15:00:00Z","deliveryEnd":"2024-10-18T16:00:00Z","entryPerArea":{"GER":133.67}},{"deliveryStart":"2024-10-18T16:00:00Z","deliveryEnd":"2024-10-18T17:00:00Z","entryPerArea":{"GER":181.28}},{"deliveryStart":"2024-10-18T17:00:00Z","deliveryEnd":"2024-10-18T18:00:00Z","entryPerArea":{"GER":142.58}},{"deliveryStart":"2024-10-18T18:00:00Z","deliveryEnd":"2024-10-18T19:00:00Z","entryPerArea":{"GER":103.25}},{"deliveryStart":"2024-10-18T19:00:00Z","deliveryEnd":"2024-10-18T20:00:00Z","entryPerArea":{"GER":96.83}},{"deliveryStart":"2024-10-18T20:00:00Z","deliveryEnd":"2024-10-18T21:00:00Z","entryPerArea":{"GER":93.26}},{"deliveryStart":"2024-10-18T21:00:00Z","deliveryEnd":"2024-10-18T22:00:00Z","entryPerArea":{"GER":85.54}}],"blockPriceAggregates":[{"blockName":"Off-peak 1","deliveryStart":"2024-10-17T22:00:00Z","deliveryEnd":"2024-10-18T06:00:00Z","averagePricePerArea":{"GER":{"average":92.24,"min":78.84,"max":149.78}}},{"blockName":"Peak","deliveryStart":"2024-10-18T06:00:00Z","deliveryEnd":"2024-10-18T18:00:00Z","averagePricePerArea":{"GER":{"average":111.48,"min":80.20,"max":181.28}}},{"blockName":"Off-peak 2","deliveryStart":"2024-10-18T18:00:00Z","deliveryEnd":"2024-10-18T22:00:00Z","averagePricePerArea":{"GER":{"average":94.72,"min":85.54,"max":103.25}}}],"currency":"EUR","exchangeRate":1,"areaStates":[{"state":"Final","areas":["GER"]}],"areaAverages":[{"areaCode":"GER","price":102.27}]}
This is quit a lot more parse-able than the previous data. I was in the process of implementing a solution based on selenium, but will stop that and go with this instead. Thanks!
Just out of interest, why are you scraping the data from Nordpool website (which is against the terms of use) when there is a Entso-E binding for fetching the data from an official data source (and which is compliant with the terms of service)?
The Binding will be part of the next openHAB release but can be used already now by using this JAR file directly:
Cheers,
Markus
I have done this several years and at the time I prepared my solution it was the only one available (as I found).
Background:
I do my own optimization of operating in particular two dehumidifier units, as well as altering the target temp in the warm water heater. The optimization is done in the form of ‘find x hours of operation within a time window (+/- from now) of y hours based on lowest hour price’. To do this I want a json-list of available hour prices. I fetch the prices 1x per hour from 13:00 until I have received todays(tomorrows) prices, ie most probably 2x per day.
I had a short glance at the entso-e binding and right or wrong this is what kept me from using it.
- Had not heard of ENTSO-e previously
- Usage required mailing to receive API-key with possible delays in response
- Unsure of format of data that I can receive from the binding, will it conform to my own solution?
- The instruction for the binding lists Influx as a required, i dont use influx.
- I should also note that I use HABapp/python for my rules
Edit:
If there is a nordpool-binding that would offer as thing/channel a string with json-hour:price for today or as a response to query-prices(offset from today) that would be perfect for my needs.
Edit2:
With some hindsight It should be possible to get that that prices through persistent-service and the OH-api as well, if the ENTSO-e binding stores the prices with timestamps in the ‘future’?
Influx is not required or in any way involved. See latest documentation here:
Yes, it does.
Alternative path:
nordpool · PyPI