Hybridisähkösopimus – kiinteän sähkösopimuksen ja pörssisähkön hyvät puolet
Useilla sähköyhtiöillä on jo jonkin aikaa ollut tarjolla hybridisähkösopimuksia. Tällaisia sopimuksia mainostetaan kiinteän sähkösopimuksen ja pörssisähkön yhdistetyillä hyödyillä. Hybridisopimuksen hinta muodostuu perusmaksusta, kiinteästä energiamaksusta ja niin sanotusta hintajoustosta.
Kiinteä osuus tasaa hinnan vaihtelua verrattuna puhtaaseen pörssisopimukseen ja hintajouston avulla on mahdollista vaikuttaa sähkölaskun suuruuteen painottamalla omaa sähkön kulutusta halvimmille tunneille ja vähentämällä kulutusta kalleimpina tunteina.
Hintajousto lasketaan kuukauden toteutuneen keskikustannuksen ja pörssikeskihinnan erotuksena. Jos sopimuksen kiinteä energiamaksu on esimerkiksi 8.95 c/kWh, kuukauden pörssikeskihinta 15 c/kWh ja toteutunut keskikustannus 14 c/kWh, maksaa energia: 8.95 c/kWh + (14 c/kWh – 15 c/kWh) = 7.95 c/kWh.
Edellä lasketusta esimerkistä selviää että hintajousto on negatiivinen (vähännys energian hinnasta), jos toteutunut keskikustannus on pienempi kuin kuukauden pörssikeskihinta. Näiden tietojen seuraamiseksi Home Assistantiin tehdään omat sensorit. Kuukauden pörssikeskihinta haetaan RESTful -sensorin avulla Nordpoolista:
- platform: rest
resource: https://dataportal-api.nordpoolgroup.com/api/AggregatePrices?year=2024&market=DayAhead&deliveryArea=FI¤cy=EUR
name: Kuukauden pörssikeskihinta
unit_of_measurement: c/kWh
scan_interval: 600
value_template: '{{(value_json["multiAreaMonthlyAggregates"][0]["averagePerArea"]["FI"]|float(0) * 1.255 / 10) | round(2)}}'
Toteutunutta keskikustannusta varten täytyy ensin laskea tuntikustannus (tunnin kulutus x pörssihinta) ja tehdä tätä kustannusta ja kulutusta yhteen laskevat ja kuukausittain nollautuvat Utility -mittarit. Toteutunut keskikustannus saadaan jakamalla kustannus kulutuksella. Hintajousto saadaan edellisen esimerkin tapaan toteutuneen keskikustannuksen ja pörssikeskihinnan erotuksena.
template:
- trigger:
- platform: time_pattern
minutes: 0
sensor:
- name: Pörssikustannus
state: '{{states(''sensor.sahkon_tuntikulutus'')|float(0)*states(''sensor.porssihinta'')|float(0)}}'
unit_of_measurement: Eur
- trigger:
- platform: time_pattern
minutes: 0
sensor:
- name: Toteutunut keskikustannus
unit_of_measurement: c/kWh
state: '{{((states(''sensor.sahkon_kuukausikustannus'')|float(0) / states(''sensor.sahkon_kuukausikulutus'')|float(0))*100)|round(2)}}'
sensor:
- platform: template
sensors:
kulutusvaikutus:
unit_of_measurement: c/kWh
value_template: '{{(states(''sensor.toteutunut_keskikustannus'')|float(0) - states(''sensor.kuukauden_porssikeskihinta'')|float(0))|round(2)}}'
Kuukauden pörssikeskihintaa tai toteutunutta keskikustannusta voidaan pitää rajana hinnalle, jota voidaan hyödyntää kodin sähkölaitteiden automaatioissa. Mikäli sähköä käytetään pörssikeskihintaa halvempina tunteina enemmän kuin kalliimpina tunteina, saadaan sähkön hinnasta alennusta. Mikäli sähköä käytetään toteutunutta keskikustannusta halvempina tunteina, saatava hyöty kasvaa.
Alla esimerkkiautomaatiot sähkölämmitykselle, jossa käytetään apuna kahta lämpötila- ja hintarajaa. Kaikkein halvimman hinnan aikana lämmitys on koko ajan päällä. Hieman kalliimmalla hinnalla lämpötilan annetaan laskea ylempään rajaan ennen lämmityksen aloittamista. Vieläkin kalliimmalla hinnalla sisälämpötilan annetaan laskea alempaan rajaan saakka. Lämmitystä jatketaan kunnes lämpötilaraja ylitetään hieman.
- id: '1'
alias: Lämmitys pois päältä
trigger:
- platform: time_pattern
minutes: '0'
condition:
- condition: template
value_template: >
{%if (float(states('sensor.nordpool'),0)*100)>(float(states('sensor.kuukauden_porssikeskihinta'),0)*2) %}
{{states('sensor.olohuone_lampotila')|float(0)>(states('input_number.minimilampotila_2')|float(0)+0.1)}}
{%elif (float(states('sensor.nordpool'),0)*100)>(float(states('sensor.kuukauden_porssikeskihinta'),0)*0.8) %}
{{states('sensor.olohuone_lampotila')|float(0)>(states('input_number.minimilampotila_1')|float(0)+0.1)}}
{%else%}
{{false}}
{%endif%}
action:
- service: switch.turn_off
data: {}
target:
entity_id: switch.lämmitys
- id: '2'
alias: Lämmitys päälle
description: ''
trigger:
- platform: time_pattern
minutes: '0'
condition:
- condition: template
value_template: >
{%if (float(states('sensor.nordpool'),0)*100)>(float(states('sensor.kuukauden_porssikeskihinta'),0)*2) %}
{{states('sensor.olohuone_lampotila')|float(0)<states('input_number.minimilampotila_2')|float(0)}}
{%elif (float(states('sensor.nordpool'),0)*100)>(float(states('sensor.kuukauden_porssikeskihinta'),0)*0.8) %}
{{states('sensor.olohuone_lampotila')|float(0)<states('input_number.minimilampotila_1')|float(0)}}
{%else%}
{{false}}
{%endif%}
action:
- service: switch.turn_on
data: {}
target:
entity_id: switch.lämmitys
16 thoughts on “Hybridisähkösopimus – kiinteän sähkösopimuksen ja pörssisähkön hyvät puolet”
Laskiessasi kuukauden keskihintaa, mitä tämä laskee: ”* 1.24 / 10 / jakaja)”
Entä olisiko mahdollista, että jakaisit koko koodin tälle sensorille? 🙂
Tuo kaava lisää Nordpoolin sivulta haettavaan summaan ALV:n, muuttaa Eur/MWh -> c/kWh ja jakaa sen päivien määrällä, jotta summasta saadaan keskiarvo. Sensori löytyy koko komeudessaan täältä. Joku koodaustaitoinen osaisi tuon varmaan tehdä nätimmin 🙂
Hei,
Onko sensor.porssihinta esim nordpoolin tunneittain vaihtuva hintasensori, vai joku helper?
Kyllä, kyseessä on tunneittain vaihtuva pörssihinta.
Kiitos! Tälläisestä olinkin haaveillut, mutta omat taidot eivät riittäneet toteuttaa tyhjästä.
Kiva että tästä kirjoituksesta oli jotain iloa. Disclaimerina vielä että ihan kaikkia asioita ei ole kirjoitettu täysin auki, mutta idea selvinnee.
Kiitos Kimmo, tämä on todellä hyvä lähtöpiste omallekin kulutusseurannalle.
Mistä lasket sähkön tuntikulutuksen (sensor.sahkon_tuntikulutus)?
Tuo sahkon_tuntikulutus on tunneittain resetoituva, sähkönkulutusta laskeva helpperi
Kuukaúden pörssikeskihintasensori taisi mennä rikki, kun ainakin nordpoolin sivun osoite on vaihtunut, liekö muutakin. Oletko keksinyt ratkaisua miten tuon saisi uudelleen toimimaan?
Nähtävästi. Kokeilepa toimisiko alla oleva korvaamaan jutussa kirjoitetun:
- platform: rest
resource: https://dataportal-api.nordpoolgroup.com/api/AggregatePrices?year=2024&market=DayAhead&deliveryArea=FI¤cy=EUR
name: Kuukauden pörssikeskihinta
unit_of_measurement: c/kWh
scan_interval: 600
value_template: '{{(value_json["multiAreaMonthlyAggregates"][0]["averagePerArea"]["FI"]|float(0) * 1.255 / 10) | round(2)}}'
Nordpool API osoite ilmeisesti muuttunut kun ei enään toimi. Mikähän olisi uusi osoite?
Kokeilepa toimisiko tuo toisessa vastauksessa annettu korjausehdotus?
Näyttäisi antavan 8,28c/kWh. Liukuri.fi näyttää kuukauden keskihinnaksi 8,36. Onkohan erona että toisessa huomisen hinnat jo mukana ja toisessa ei?
Vuodenvaihteessa joutunee muuttamaan resourcen osoitteeseen vuosiluvun.
Ainakin tuo näyttäisi muuttuvan päivällä kahden aikoihin, joten sen pitäisi huomisenkin hinta olla mukana heti kun se on saatavilla. Liekö sitten jokin pyöristysvirhe jossakin kohtaa
Yritin ujuttaa osoitteeseen vuosiluvun tilalle ”now().strftime(’%Y’)” mutta en saanut millään toimimaan vaikka template editorissa näyttää ihan nätiltä.
Toimisikohan ihan vain now().year?