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

Polarnor

Medlemmer
  • Innlegg

    1
  • Ble med

  • Besøkte siden sist

Innlegg skrevet av Polarnor

  1. På 19.12.2018 den 16.15, ArnieO skrev:

    Legger dette i egen tråd i stedet for inne i andre tråder, så blir det lettere å finne for de som leter.

     

    Spot strømprisene i Norden for neste døgn (den såkalte Day-ahead prisen) besluttes hver formiddag for kommende døgn, time for time - og publiseres så vidt jeg vet klokka 12 norsk tid.

     

    Jeg har funnet tre steder de kan leses fra:

    1. Tibber, men kun om du er kunde hos de.
    2. Nord Pool publiserer Day-ahead priser for kommende døgn hver dag ca klokka 12: https://www.nordpoolgroup.com/Market-data1/Dayahead/Area-Prices/ALL1/Hourly/?view=table
      De er imidlertid veldig tydelige på at det ikke er tillatt å lage noen autmatisk nedlasting derfra.
      Man kan kjøpe en avtale med de, men det er dyrt.
    3. Entsoe: Prisene publiseres imidlertid samtidig på en Europeisk nettside hvor det er gratis både å registrere seg og få Web API token, som trengs for å bruke deres API.
      https://transparency.entsoe.eu/
      Dette er løsningen jeg bruker, og det fungerer helt fint. Det er en beskrivelse av APIet på nettsiden der et sted.


    Jeg henter prisene fra Entsoe hver kveld for neste døgn. De aktuelle linjene i mitt LUA-script ser slik ut:

    
    	year 	= os.date("%Y", tomorrow);
    	month 	= os.date("%m", tomorrow);
    	day 	= os.date("%d", tomorrow);
    
    	urlApi = "'https://transparency.entsoe.eu/api?documentType=A44&in_Domain=10YNO-2--------T&out_Domain=10YNO-2--------T&periodStart="..year..month..day.."0000&periodEnd="..year..month..day.."2300&securityToken=SETT-INN-DIN-TOKEN-HER'"

    Den svarer med en XML streng som du så må hente ut dataene fra.
    Scriptet leser så dagens valutakurs fra Norges bank (åpent API, trenger ikke token), som brukes for å regne om til spotprisen i kroner.
    Her er min LUA-kode for funksjon som henter dagens EUR kurs:

    
    function eurRate()
        local url = "https://data.norges-bank.no/api/data/EXR/M.EUR.NOK.SP?lastNObservations=1"
        local XML_string_eur=XML_Capture("curl -s "..url,1)
        local valid = string.find(XML_string_eur, "<message:Test>false</message:Test>")    
        if valid == nil then
            print ("Bad XML status read - info NOT updated [in eurRate()]")
        else
            local p = string.find(XML_string_eur,"DECIMALS=") + 10    -- read position of NoOfDecimals
            local dec = string.sub(XML_string_eur,p,p)
            p = string.find(XML_string_eur,"OBS_VALUE=") + 11    -- read position of eurRate
            return tonumber(string.sub(XML_string_eur,p,p+1+dec))
        end
    end

    Husk at dette er ikke hele strømprisen. Nettleie og andre tillegg kommer i tillegg. Se faktura fra din leverandør om du vil regne helt om til full estimert kWh-pris.

     

     

    Entsoe fungerte kjempeflott. Takk for tips ? Jeg benytter PHP og skrev om koden:

     

    $datetime = new DateTime('tomorrow');
    $spotdate = $datetime->format('Ymd');
     
    $urlapi = "https://transparency.entsoe.eu/api?documentType=A44&in_Domain=10YNO-2--------T&out_Domain=10YNO-2--------T&periodStart=".$spotdate."0000&periodEnd=".$spotdate."2300&securityToken=DIN_TOKEN_HER";
     
    $xml = @file_get_contents($urlapi);
    $xml = simplexml_load_string($xml);
     

     

    Det er vel forskjell på de ulike strømområdene? Prøvde å skrive 10YNO-5 for Bergen/Hordaland, men det fungerte ikke. Noen som vet koden for Bergen/Hordaland?

×
×
  • 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.