Jump to content
  • Sign Up
Støtt hjemmeautomasjon.no!

Strømpriser


stigvi

Recommended Posts

Et alternativ til Nordpool integrasjonen, er Entso-e. Til Entso-e er det nettopp laget en integrasjon til Home Assistant og den finnes her, https://github.com/JaccoR/hass-entso-e

På samme måte som i Nordpool integrasjonen så kan en legge til nettleie på prisen. Denne gjør det derimot litt annerledes så malene er ikke helt like. Min mal for å gjøre om euro til kroner og legge til nettleie, ser slik ut.

 

{% set s = {
    "day": 0.6676,
    "night": 0.5426,
    "cert": 0.01,
    "vat": 1.25,
    "eur": 10.36
}
%}
{% if now().isoweekday() >= 1 and now().isoweekday() <= 5 %}
  {% if now().hour >= 6 and now().hour < 22 %}
    {{(current_price * s.eur * s.vat + s.day + s.cert) | float}}
  {% else %}
    {{(current_price * s.eur * s.vat + s.night + s.cert) | float}}
  {% endif %}
{% else %}
  {{(current_price * s.eur * s.vat + s.night + s.cert) | float}}
{% endif %}



Å lage en kurve i apexchart gjøres som dette:

 

  - entity: sensor.current_electricity_market_price
    show:
      in_header: false
    name: Pris
    type: line
    curve: stepline
    float_precision: 4
    stroke_width: 2
    opacity: 1
    color: orange
    extend_to: now
    data_generator: |
      return entity.attributes.prices.map(p => [p.time,p.price]);

 

  • Thanks 2
Link to comment
Share on other sites

Et annet alternativ er å laste ned strømpriser fra ENTSO-e via Node-RED:

image.thumb.png.0b769bbafff42799703050cda3bb6310.png

 

For å få tilgang til APIet trenger man en securityToken/API key (https://transparency.entsoe.eu/content/static_content/Static%20content/web%20api/Guide.html#_authentication_and_authorisation). Se også https://amsleser.no/blog/post/21-obtaining-api-token-from-entso-e. I den vedlagte flowen er min nøkkel byttet ut med x-er.


I http-requesten angir man en kode for strømprisområde. Jeg bruker koden for NO2 (10YNO-2--------T), andre koder finner man i vedlegg A.10 i doken til APIet (https://transparency.entsoe.eu/content/static_content/Static%20content/web%20api/Guide.html#_areas).


URLen for APIet angitt i dokumentasjonen ser ut til å være feil (jeg bruker https://transparency.entsoe.eu/api).

 

For å regne om til NOK kan man hente eurokurs vha API hos Norges Bank (https://www.norges-bank.no/tema/Statistikk/apne-data/) eller Fixer (https://fixer.io/).

 

Jeg laster ned dataene en gang i døgnet (litt etter kl 12 UTC) og lagrer prisene (både EUR/MWh og NOK/kWh) i en lokal database. Tilfeldigvis er outputen fra extract prices noden en tabell med time/value par som fungerer som input til en Influx-database. All annen bruk av strømpriser hos meg går mot den lokale databasen. Da kan jeg enkelt bytte leverandør av strømpriser ved behov.

 

Flow: https://pastebin.com/ZBM8PCiH

Edited by Tyrfing
Link to comment
Share on other sites

Interessangt! Jeg har lagt den til nå, ser ut til å fungere. Noen av sensorene den lager ser ut som kan være nyttig. Får knote litt og se om jeg får den inn i en apexchart lik den jeg har for nordpool så jeg kan sammenligne resultatene litt.

stigvi skrev (På 16.10.2022 den 18.18):

 


    "eur": 10.36

Må valutakursen oppdateres manuelt? Hvordan gjør nordpool-integrasjonen det?


Blir spennende å se hvordan den utvikler seg og hva folk finner på med den.

Link to comment
Share on other sites

thoralex skrev (59 minutter siden):

Må valutakursen oppdateres manuelt? Hvordan gjør nordpool-integrasjonen det?

Foreløbig må du gjøre det. Men det diskuteres på git om det skal være en automatikk i det og hvordan det i så fall skal løses. Du kan jo bidra der. Så i går at en skrev at dette ikke er viktig så det er lurt å påvirke i din retning hvis de mener noe annet. Nordpool gir deg prisen i norske kroner hvis det er det du ber om. De har også en kurs som de bruker, men hvilken, det vet jeg ikke. Jeg ser at prisen jeg får fra Nordpool i kroner og prisen jeg får fra entso etter konvertering, skiller hverandre med mindre enn 1 øre. Til mitt bruk er det helt innafor. Jeg er mest interessert i billigste timer gjennom døgnet og da betyr kursen lite og ingenting.

Link to comment
Share on other sites

thoralex skrev (18 timer siden):

Skjønner. Praktisk at det skjer automatisk, men som du sier er det egentlig ikke så nøye for strømstyringen sin del.

Dette virker 😉

 

{% set s = {
    "day": 0.6676,
    "night": 0.5426,
    "cert": 0.01,
    "vat": 1.25,
    "eur": float(states('sensor.kurs_eur'), 10)
}
%}
{% if now().isoweekday() >= 1 and now().isoweekday() <= 5 %}
  {% if now().hour >= 6 and now().hour < 22 %}
    {{(current_price * s.eur * s.vat + s.day + s.cert) | float}}
  {% else %}
    {{(current_price * s.eur * s.vat + s.night + s.cert) | float}}
  {% endif %}
{% else %}
  {{(current_price * s.eur * s.vat + s.night + s.cert) | float}}
{% endif %}

 

Link to comment
Share on other sites

Slik kan dagens kurs hentes:

 

  - platform: rest
    resource: https://data.norges-bank.no/api/data/EXR/B.EUR.NOK.SP?lastNObservations=1&format=sdmx-json
    name: kurs_eur
    scan_interval: 43200
    unit_of_measurement: NOK
    value_template: "{{ value_json['data']['dataSets'][0]['series']['0:0:0:0']['observations']['0'][0] }}"

 

  • Like 1
Link to comment
Share on other sites

thoralex skrev (1 time siden):

Har noen laget sensorer for billigste timer basert på entso-e enda? Jeg har prøvd å modifisere de jeg har basert nordpool (som er kopiert fra forumet her) men får dem ikke til å fungere med entso-e.

Nordpool int. gir start- og stopptider, mens entso int. bare gir starttid. Så du må legge til en time på start ala noe som dette

 

{{ as_datetime(state_attr('sensor.current_electricity_market_price', 'prices')[0].time) <= now() and (as_datetime(state_attr('sensor.current_electricity_market_price', 'prices')[0].time) + timedelta(hours = 1)) > now() }}

Er det slik du har gjort, kanskje?

Link to comment
Share on other sites

stigvi skrev (1 time siden):

Er det slik du har gjort, kanskje?

Du har alt for mye tiltro til mine kodekunnskaper :P

Dette er sensoren jeg hadde laget, rett og slett sensoren for billigste timer fra en annen tråd her hvor jeg har prøvd å erstatte nordpool prissensoren og attributtene med entso-e sine. Regnet jo ikke med at det var så enkelt.
 

    - platform: template
      sensors:
        billigste_6_timer_entsoe:
          value_template: >-
            {% set x = states("sensor.time") %}
            {% set l=state_attr('sensor.current_electricity_market_price', 'prices')|sort(attribute='price') %}
            {{ (now() >= l[0].start and now() <= l[0].end)
              or (now() >= l[1].start and now() <= l[1].end)
              or (now() >= l[2].start and now() <= l[2].end)
              or (now() >= l[3].start and now() <= l[3].end)
              or (now() >= l[4].start and now() <= l[4].end)
              or (now() >= l[5].start and now() <= l[5].end) }}

 

Link to comment
Share on other sites

thoralex skrev (11 timer siden):

Du har alt for mye tiltro til mine kodekunnskaper :P

Dette er sensoren jeg hadde laget, rett og slett sensoren for billigste timer fra en annen tråd her hvor jeg har prøvd å erstatte nordpool prissensoren og attributtene med entso-e sine. Regnet jo ikke med at det var så enkelt.
 

    - platform: template
      sensors:
        billigste_6_timer_entsoe:
          value_template: >-
            {% set x = states("sensor.time") %}
            {% set l=state_attr('sensor.current_electricity_market_price', 'prices')|sort(attribute='price') %}
            {{ (now() >= l[0].start and now() <= l[0].end)
              or (now() >= l[1].start and now() <= l[1].end)
              or (now() >= l[2].start and now() <= l[2].end)
              or (now() >= l[3].start and now() <= l[3].end)
              or (now() >= l[4].start and now() <= l[4].end)
              or (now() >= l[5].start and now() <= l[5].end) }}

 



Sånn som dette. Pass på at prices attributten til entso integrasjonen inneholder alle 48 timene. Så den dekker et større tidsrom enn today attributten til Nordpool integrasjonen. I eksembelet har jeg tatt med de 30 første timene slik at du får de billigste timene fram til 06:00 neste dag.

 

{% set x = states("sensor.time") %}
{% set l=state_attr('sensor.current_electricity_market_price', 'prices')[0:30]|sort(attribute='price') %}
{{ (now() >= as_datetime(l[0].time) and now() <= as_datetime(l[0].time) + timedelta(hours = 1))
  or (now() >= as_datetime(l[1].time) and now() <= as_datetime(l[1].time) + timedelta(hours = 1))
  or (now() >= as_datetime(l[2].time) and now() <= as_datetime(l[2].time) + timedelta(hours = 1))
  or (now() >= as_datetime(l[3].time) and now() <= as_datetime(l[3].time) + timedelta(hours = 1))
  or (now() >= as_datetime(l[4].time) and now() <= as_datetime(l[4].time) + timedelta(hours = 1))
  or (now() >= as_datetime(l[5].time) and now() <= as_datetime(l[5].time) + timedelta(hours = 1)) }}

 

Link to comment
Share on other sites

Takker så mye!

 

stigvi skrev (11 timer siden):



Pass på at prices attributten til entso integrasjonen inneholder alle 48 timene.
 

Det er hovedgrunnen til at jeg vil eksperimentere med dette. De billigste seks timene er ofte mellom 2200 og 0600 på grunn av lavere nettleie, men når det blir delt på to forskjellige døgn av nordpool-integrasjonen gir det litt uønskede resultater. Har laget et lite utvalg forskjellige sensorer basert på koden din nå for å se hvordan de oppfører seg noen dager.

Link to comment
Share on other sites

thoralex skrev (13 minutter siden):

Takker så mye!

 

Det er hovedgrunnen til at jeg vil eksperimentere med dette. De billigste seks timene er ofte mellom 2200 og 0600 på grunn av lavere nettleie, men når det blir delt på to forskjellige døgn av nordpool-integrasjonen gir det litt uønskede resultater. Har laget et lite utvalg forskjellige sensorer basert på koden din nå for å se hvordan de oppfører seg noen dager.

Dessverre er ikke entso integrasjonen heller optimal. Den sletter data ved midnatt på samme måte som nordpool integrasjonen gjør. 

Du må gjerne bidra her, https://github.com/JaccoR/hass-entso-e/issues/41 for å påvirke utvikling 😉

Link to comment
Share on other sites

thoralex skrev (På 25.10.2022 den 17.11):

Har noen laget sensorer for billigste timer basert på entso-e enda? Jeg har prøvd å modifisere de jeg har basert nordpool (som er kopiert fra forumet her) men får dem ikke til å fungere med entso-e.

 

Du kan bruke denne HA addon https://github.com/jpulakka/nordpool_diff/tree/entsoe_support som gir deg en sensor du kan bruke for de billigste timer. Når sensor gir positiv verdi så er det billig strøm og negativ verdi er dyr strøm.

 

Ellers finnes en HA addon som gir deg en sensor for de billigste timene som er nå basert på Nordpool prisdata. Du finner den her: https://github.com/dala318/nordpool_planner

  • Like 1
Link to comment
Share on other sites

haraldov skrev (2 timer siden):

 

Du kan bruke denne HA addon https://github.com/jpulakka/nordpool_diff/tree/entsoe_support som gir deg en sensor du kan bruke for de billigste timer. Når sensor gir positiv verdi så er det billig strøm og negativ verdi er dyr strøm.

 

Ser fin ut den der, men jeg tror det blir litt overkill for min bruk. Har kun en device å styre, og den overstyres delevis av andre automasjoner for å holde effektleddet på nettleien. Ser ikke ut som man kan velge antall timer som skal settes som billig, eller når på døgnet?

Edited by thoralex
Link to comment
Share on other sites

thoralex skrev (1 time siden):

Ser fin ut den der, men jeg tror det blir litt overkill for min bruk. Har kun en device å styre, og den overstyres delevis av andre automasjoner for å holde effektleddet på nettleien. Ser ikke ut som man kan velge antall timer som skal settes som billig, eller når på døgnet?

En VVB eller elbil kan en fint tilføre energi i et lite antall av døgnets timer og sånn sett er det greit å bruke døgnets billigste timer. Jeg bruker bare de 2 billigste for å varme vann.

Men til noe som krever energi nærmest kontinuerlig som varme i gulv og rom, så er nordpool_diff bedre. Med den kan du varme opp litt ekstra når det er billig og slå av litt på varmen når det er dyrt. Men en gjør dette med å se på færre timer i fremtiden enn et helt døgn. Og den ser på de neste X timene, ikke hele døgnet statisk, døgn for døgn.

Link to comment
Share on other sites

Det var sånn jeg oppfattet det ja. Jeg styrer bare en varmtvannsbereder, så for meg er det nok mer praktisk å bare bruke de billigste timene. Når de billigste timene vanligvis er mellom 2200-0600 på grunn av nettleia så blir en slik sensor ikke en god løsning tror jeg.

Link to comment
Share on other sites

thoralex skrev (20 timer siden):

Kommet ny versjon nå, hvor dette skal være endret på. Har oppdatert testsensorene mine, så får vi se hvordan resultatet ser ut...

Er det endret noe så virker det i så fall ikke. Min er som før.

Link to comment
Share on other sites

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.