Home Assistant: prodej elektřiny na spotovém trhu a automatizace

6. 3. 2024
Doba čtení: 9 minut

Sdílet

 Autor: Depositphotos
V dnešním pokračování o fotovoltaice se podíváme na využití spotové ceny elektřiny v Home Asisstantu a na několik příkladů automatizací pro řízení fotovoltaické elektrárny, které byly popsány v předchozím článku.

Cena za elektřinu

Co se dozvíte v článku
  1. Cena za elektřinu
  2. ApexCharts a spotové ceny
  3. Příklady automatizací
  4. Příště si nabijeme elektromobil

Nejdříve si dovolím trochu teorie o tom, z čeho se vlastně cena za elektřinu skládá. Kdo z vás někdy nahlédl do z pravidla několika stránkového vyúčtování elektřiny mi dá za pravdu, že je poměrně složité se v něm orientovat. Cena elektřiny se totiž skládá ze dvou hlavních částí – obchodní a distribuční. Obchodní část, neboli cena za silovou elektřinu, je částka za 1 MWh, kterou nabízejí obchodníci s touto komoditou a často se sjednává buď na dobu neurčitou a nebo jako fixní na jeden až tři roky. Dodavatele silové elektřiny si můžeme svobodně zvolit a nebo např. na základě výhodnější nabídky změnit. V únoru 2024 se cena za 1 MWh u běžné sazby pro domácnosti pohybovala okolo 3 600 Kč bez DPH (dle aktuálního ceníku ČEZ Prodej pro roční fix). Do obchodní části elektřiny ještě vstupuje stálá měsíční platba.

Někdo se mylně domnívá, že 3 600 Kč bez DPH za 1 MWh je konečná částka za odebranou elektřinu. Do hry ještě vstupuje distribuční část, tedy několik poplatků, které se platí za přenos elektřiny přímo do domácnosti. V České republice jsou tři distribuční území – ČEZ distribuce (pozor, neplést s ČEZ Prodej), PRE distribuce (opět, neplést s PRE) a EG.D (dříve E.ON distribuce). První z jmenovaných společností působí v severní části republiky, druhá pouze v Praze a třetí v jižní části. Distribuční území není tedy logicky možné zvolit, jediný způsob je přestěhovat se. Nicméně v každé z nich se platí jiné částky, proto je potřeba při zkoumání ceníků jednotlivých dodavatelů i správně zvolit distribuční území.

Z čeho se tedy skládá cena za distribuční část elektřiny? Největší položkou je cena za 1 MWh ve vysokém (VT) a nízkém (NT) tarifu, dle použité distribuční sazby. Většina domácností s běžnými spotřebiči používá sazbu D02d, která je pouze jednotarifní. Má tedy pouze vysoký tarif, který platí celý den. Pokud je v domácnosti spotřebič s vyšší spotřebou – bojler, elektromobil, přímotop, tepelné čerpadlo apod. je možné získat výhodnější distribuční sazbu s dvojtarifem a tedy s nízkým tarifem. Ten může trvat osm hodin (sazba pro bojler a elektromobil) nebo dokonce 22 hodin (tepelné čerpadlo). Oproti v zásadě minimálnímu rozdílu v ceně silové elektřiny v nízkém a vysokém tarifu, může být rozdíl v ceně za distribuci v některých případech zásadní. U distribuční sazby D25d pro bojler je cena za 1 MWh pro rok 2024 v nízkém tarifu nižší o 1 177 Kč bez DPH oproti vysokému tarifu. Naopak v případě distribuční sazby D56d pro tepelné čerpadlo je rozdíl už jen přibližně 200 Kč za 1 MWh. Na druhou stranu domácnosti s tepelným čerpadlem mají výrazně vyšší spotřebu silové elektřiny.

K ceně za 1 MWh ve vysokém nebo nízkém tarifu ještě musíme připočítat daň z elektřiny, systémové služby a podporu obnovitelných zdrojů energie (POZE) za každou odebranou 1 MWh. Pokud všechny tyto platby sečteme, dostáváme se u sazby pro běžné domácnosti na území ČEZ distribuce na 2 752 Kč za 1 MWH bez DPH. Kromě poplatku za odebranou energii musíme ještě zohlednit pravidelné měsíční poplatky – činnost Operátora trhu a platbu za rezervovaný příkon podle jističe. Konkrétně pro takovou domácnost s jističem 3×25A vycházejí měsíční poplatky na 209 Kč bez DPH. Když k ceně za 1 MWh distribuce připočteme částku za silovou elektřinu, dostáváme se na 6 352 Kč za 1 MWh bez DPH. Toto je tedy ta finální částka a jak vidno, distribuční poplatky začínají pomalu dohánět cenu silové energie.

Se silovou elektřinou dokážeme trochu pracovat tak, že přejdeme k dodavateli elektřiny, který obchoduje na spotovém denním trhu s elektřinou. Ceny na tomto trhu se však každou hodinu mění v závislosti na poptávce a také na tom, kolik energie generují obnovitelné zdroje. V létě bývá silová elektřina dlouhodobě nejnižší, mnohdy i v nulových či záporných hodnotách. Často se stává, že pokud hodně fouká vítr v sousedním Německu a jedou tak naplno větrné elektrárny, cena silové elektřina také razantně klesá i ve dnech, kdy se to nebývá pravidlem. Nejvyšší hodinové ceny jsou totiž typicky ráno (8:00) a večer (18:00), nižší pak ve zbytku dne a nejnižší v noci. Naopak různé nejistoty na trhu, výkyvy v ceně plynu či jiné spekulace mohou cenu silové elektřiny naopak vystřelit hodně vysoko. Každý, kdo se rozhodne využít spotových cen, by měl být schopen přesunout co nejvíce své denní spotřeby do hodin nízkých cen (tepelné čerpadlo musí samozřejmě v zimě topit i při vysokých cenách), aby ta úspora za elektrickou energii byla opravdu co nejefektivnější. Mnohdy se to však bez automatizací neobejde.

Přejít k obchodníkovi na spotový trh může kdokoliv, kdo vlastní čtyřkvadrantový (4Q) elektroměr s průběhovým měřením. Tedy všichni, kteří mají svoji fotovoltaickou elektrárnu připojenou paralelně k distribuční síti. V takovém případě má distribuční společnost povinnost zdarma vyměnit původní elektroměr právě za 4Q. Domácnosti bez fotovoltaické elektrárny mohou o tento typ elektroměru samozřejmě požádat také, ovšem musí jej plně uhradit. Samotným přechodem na spotový tarif se nic nemění na distribuční sazbě. O tom, jak si přidat spotové ceny do Home Assistantu, si povíme v následující kapitole.

ApexCharts a spotové ceny

Ti z vás, kteří prodávají/nakupují elektřinu (a nebo o tom uvažují) na spotovém trhu, se bude určitě hodit integrace z HACS Czech Energy Spot Prices, která vždy po 13:00 stahuje data o cenách z oficiálního webu pro další den. Integrace nabízí kromě aktuální ceny za 1 kWh nebo 1 MWh v dané hodině i již zmiňovaný výhled na den dopředu, současně také nabízí další senzory, pomocí kterých je možné zjišťovat v jaké hodině bude elektřina nejlevnější, v jakém souvislém bloku hodin bude nejlevnější apod. Určitě doporučuji prostudovat dokumentace projektu, protože je tímto způsobem možné následně efektivně řídit spotřebu.

My si zatím ukážeme, jak jednoduše vizualizovat graf hodinových cen. Budeme k tomu potřebovat rozšíření z HACS ApexCharts Card, které vychází z open-source knihovny ApexCharts.js pro tvorbu grafů. ApexCharts nám umožní zobrazit graf s budoucími hodnotami, protože jakýkoliv standardní graf, který můžeme použít v Home Assistantu, pracuje pouze z historickými daty dané entity. Rozšíření s cenami na spotovém trhu má proto v entitě definované atributy s jednotlivými hodinami a cenami, které pak můžeme jednoduše použít do grafu. Základní zápis pro ApexCharts Card bude vypadat takto:

type: custom:apexcharts-card
header:
  title: Elektřina na spotovém trhu
  show: true
  show_states: true
  colorize_states: true
graph_span: 2d
span:
  start: day
now:
  show: true
  label: Nyní
series:
  - entity: sensor.current_spot_electricity_price
    name: Elektřina bez DPH
    float_precision: 2
    type: column
    color: green
    show:
      in_header: raw
    data_generator: |
      return Object.entries(entity.attributes).map(([date, value], index) => {
        return [new Date(date).getTime(), value];
      });

V této souvislosti ještě upozorním na jednu záludnost. Pokud na spotovém trhu pouze prodáváme přebytky elektřiny, počítá se cena bez DPH. Jakmile ovšem elektřinu na spotovém trhu nakupujeme, je potřeba ještě připočíst DPH. Výše uvedený graf je možné samozřejmě rozšířit o další entity a zobrazovat tak např. celkovou cenu elektřiny za 1 kWh při nákupu. To ovšem znamená připočíst ke každé hodinové ceně i DPH a veškeré distribuční poplatky, včetně rozlišení nízkého a vysokého tarifu, je-li v domácnosti používán.

Příklady automatizací

Jelikož k řízení fotovoltaické elektrárny patří i určitá míra automatizace uvedu pro inspiraci několik příkladů, které sám používám. Automatizací je možné vymyslet nepřeberné množství, např. inteligentní spínání vyhřívání vířivky nebo ohřívání bojleru, pokud nepoužíváme hotový regulátor se SSR relé.

Nabíjení baterie

Jedná se o poměrně typickou situaci, kdy potřebujeme, např. v noci, dobít baterii z distribuční sítě. Používám k tomu tři pomocníky, dva pro definici časového okna od-do input_datetime.fve_battery_charge_from, input_datetime.fve_battery_charge_to a třetí jak přepínač input_boolean.fve_battery_charge_enable, že se má automatizace spustit. Když potřebuji naplánovat nabíjení, zadám oba časy, přepnu přepínač na zapnuto, nastavím výkon nabíjení Eco mode power a cílovou hodnotu SOC Eco mode SOC. Automatizace pak bude vypadat takto:

  alias: "FVE: nabíjení baterie"
  description: Automatické nabíjení baterie v určený čas
  trigger:
    - platform: time
      at: input_datetime.fve_battery_charge_from
      id: from_time
    - platform: time
      at: input_datetime.fve_battery_charge_to
      id: to_time
    - platform: numeric_state
      entity_id:
        - sensor.battery_state_of_charge
      above: number.eco_mode_soc
      id: battery_full
  condition:
    - condition: state
      entity_id: input_boolean.fve_battery_charge_enable
      state: "on"
  action:
    - alias: Začít nabíjet
      if:
        - condition: trigger
          id:
            - from_time
      then:
        - device_id: bc17ad9a6cfa2951e4fae9ad6990cba4
          domain: select
          entity_id: select.inverter_operation_mode
          type: select_option
          option: eco_charge
    - alias: Přestat nabíjet
      if:
        - condition: or
          conditions:
            - condition: trigger
              id:
                - to_time
                - battery_full
      then:
        - device_id: bc17ad9a6cfa2951e4fae9ad6990cba4
          domain: select
          entity_id: select.inverter_operation_mode
          type: select_option
          option: general
        - service: input_boolean.turn_off
          target:
            entity_id: input_boolean.fve_battery_charge_enable
          data: {}
  mode: single

Omezení přetoků podle výroby

Typicky v letních měsících se může stát, že výroba ze solárních panelů překročí rezervovaný výkon, jak jsem psal v předchozích odstavcích. Proto je vhodné dočasně omezit výrobu na základě zadaného výkonu a následně toto omezení opět deaktivovat. Níže uvedená automatizace tedy v okamžiku, kdy výkon do distribuční sítě přesáhne po jednu minutu výkon 5300 W, omezí výrobu.

Deaktivovat bychom toto omezení mohli provést v okamžiku, kdy výkon spadne pod zadanou hranici. Nicméně mně to přijde zbytečně komplikované, a proto omezení vypínám až podle času západu slunce, který posouvám o tři hodiny zpět. Reálně toto žádnou škodu nezpůsobí, protože zapnutí omezení výroby nebude mít během dne žádný negativní vliv. V automatizaci používám již představené skripty a pomocníka input_text.goodwe_grid_export, do kterého se ukládá aktuální stav.

alias: "FVE: omezení přetoků dle výroby"
mode: single
trigger:
  - platform: numeric_state
    entity_id: sensor.energy_sell
    for:
      hours: 0
      minutes: 1
      seconds: 0
    above: 5300
    id: disable
  - platform: sun
    event: sunset
    offset: "-3:00:00"
    id: enable
condition: []
action:
  - alias: Omezit přetoky dle výroby
    if:
      - condition: trigger
        id:
          - disable
      - condition: state
        entity_id: input_text.goodwe_grid_export
        state: "0"
    then:
      - service: script.fve_grid_export_5300kw
        data: {}
      - service: script.fve_grid_export_on
        data: {}
  - alias: Povolit přetoky dle výroby
    if:
      - condition: trigger
        id:
          - enable
      - condition: state
        entity_id: input_text.goodwe_grid_export
        state: "1"
    then:
      - service: script.fve_grid_export_off
        data: {}
      - service: script.fve_grid_export_5300kw
        data: {}

Solcast PV Solar Forecast

Poslední příklad automatizace je určen pro stahování aktuálních dat predikce solární výroby. Jelikož tato ve free variantě umožňuje pouze 10 volání za den, rozdělil jsem časy tak, abych co měl největší přehled o výrobě již od rána a současně na další den. Časy během dne pak predikce jen zpřesňují.

alias: "FVE: solcast updates"
description: New API call Solcast
trigger:
  - platform: time
    at:
      - "06:30"
      - "08:00"
      - "09:00"
      - "10:00"
      - "11:00"
      - "12:00"
      - "13:00"
      - "14:00"
      - "15:30"
      - "18:30"
condition: []
action:
  - service: solcast_solar.update_forecasts
    data: {}
mode: single

Příště si nabijeme elektromobil

V posledním článku z této fotovoltaické série se podíváme, jak efektivně využít elektrárnu k nabíjení elektromobilu. Jde sice o silně sezónní záležitost, ale při správném uchopení může provozu elektromobilu výrazně pomoci.

ict ve školství 24

(Autorem obrázků je Václav Steiner.)

Autor článku

V minulosti vedl týmy systémových administrátorů ve společnosti IGNUM nebo sdružení CZ.NIC, nyní působí ve společnosti VSHosting.