Rynkowe ceny energii elektrycznej

Ten z bateriami, to właśnie mój przypadek :slight_smile:
Aktualnie jadę na G12 i gdy solarcast przewiduje, że nie będzie słońca wystarczająco by naładować mój magazyn z PV to doładowuję z sieci (w tańszej taryfie).

Nie integrowałem nic jeszcze z kalendarzem w HA i zastanawiam się jak tego użyć.

ja na przykład robię sobie porównanie używając jak najbardziej rzeczywistych wartości, co daje większy profit: rozliczanie miesięczne czy godzinowe, bazując na mojej prawdziwej produkcji (net-biling), kilka dni na razie ale wygrywa godzinowe:
image

w PLNach dziennie:
image

Pytanie czy na bank jestes pewien ze dobrze to obliczasz? RCEm za maj zostalo opublikowane dopiero dzisiaj rano > https://www.pse.pl/oire/rcem-rynkowa-miesieczna-cena-energii-elektrycznej

tak, tu niestety będzie rozjazd, bo publikują wyceny RCEm z opóźnieniem prawie 2 tygodnie.
Trzeba by eksportować dane do jakieś tabeli i wyliczać w offline, dużo zachodu.
Na razie różnica niewielka maj/kwiecień 255 vs 253 PLN/MWh

Na potrzeby szacunkowe wystarczy, i np taka obserwacja: w tygodniu wygrywa RCE ale w weekend już nie tak bardzo, wręcz w niedzielę wyższy profit jest z RCEm:
Screenshot 2024-06-11 09.05.02

Nie dwa tygodnie, a szesc, poniewaz te ceny RCEm publikowane w czerwcu sa dla pradu w maju. Wiec dla pradu w czerwcu cene dostaniesz w polowie lipca. Tak wiec jedyne sensowne wyliczenia jakie mozna zrobic sa dla danych historycznych dla ktorych posiada sie cene RCEm.

CO do oplacalnosci z wlasnych obserwacji wychodzi mi ze RCMm dalej jest bardziej oplacalny dla domu (farmy mnie nie interesuja) poniewaz jesli przejdziesz na rozliczanie godzinowe to prad potem tez kupujesz po stawkach godzinowych, z moich wyliczen dla mojego przypadku wychodzi mi ze sie RCEm nie oplaca bez dorzucenia magazynu energii. Takze sensor ktory tu wspolnymi silami zrobilismy jest calkiem przydatny.

W automatyzacji musisz wywołać usługę calendar.get_events. to zwróci ci tablicę przyszłych wartości i z tym robisz co potrzebujesz

PSE zmieniło sposób raportowania. Ma ktoś link do pobierania danych CSV czy trzeba parsować stronę?

Dobra - mam coś takiego, ale te kwoty są dla mnie podejrzanie wysokie:
https://api.raporty.pse.pl/api/rce-pln?$filter=doba%20eq%20'2024-06-14'

1 Like

Witajcie !
Korzystałem z obecnej metody kilka dni i nadeszły zmiany.
Zmiany jednak oczekiwane bo mamy API do dyspozycji:
https://api.raporty.pse.pl/

Teraz wszelka automatyka może ruszyć z kopyta.

Prawda jest taka że operatorzy rynku energii też nie mogliby
wprowadzić godzinowych rozliczeń prosumentów i taryf dynamicznych bez tego API

1 Like

Wczoraj rynki szalały z niewiadomych powodów i takie ceny były zawierane na RDN

1 Like

Taki oto sensor wymodziłem. Przydałoby się inteligentniej rozwiązać moment pobierania danych, ale na szybko działa:

  - platform: rest
    scan_interval: 60
    name: pse_market_energy_price_current_hour
    unique_id: pse_market_energy_price_current_hour
    resource: 'https://api.raporty.pse.pl/api/rce-pln'
    params:
      '$first': 1
      '$select': 'rce_pln'
      '$filter': "udtczas ge %27{{ now().strftime('%Y-%m-%d %H:%M') }}%27"
    unit_of_measurement: "PLN/MWh"
    value_template: "{{ value_json.value[0].rce_pln }}"
    icon: mdi:cash
1 Like

Projekt: Monitoring Rynkowych Cen Energii (RCE) z PSE

14 czerwca Państwowe Sieci Elektroenergetyczne (PSE) uruchomiły API, za pomocą którego publikują różne parametry, w tym Rynkowe Ceny Energii (RCE) w interwałach piętnastominutowych. Ceny te są pochodną Cen Rynku Dnia Następnego. Te ceny będą podstawą przy godzinowych rozliczeniach prosumentów.

Opis działania projektu

Projekt ma na celu automatyczne pobieranie i monitorowanie cen RCE na dzisiaj i jutro z API PSE, oraz wyświetlanie aktualnej ceny energii na dany moment.

Sensory do wklejenia do sensors.yaml

  1. Sensor pobierający dzisiejsze ceny RCE
# Pobieranie dzisiejszych cen RCE z PSE
- platform: rest
  name: RCE Prices Today
  resource_template: "https://api.raporty.pse.pl/api/rce-pln?$filter=doba eq '{{ now().strftime('%Y-%m-%d') }}'"
  method: GET
  headers:
    accept: "application/json"
  value_template: "{{ value_json.value[0]['rce_pln'] }}"
  json_attributes:
    - value
  scan_interval: 3600

  1. Sensor pobierający jutrzejsze ceny RCE
# Pobieranie jutrzejszych cen RCE z PSE
- platform: rest
  name: RCE Prices Tomorrow
  resource_template: "https://api.raporty.pse.pl/api/rce-pln?$filter=doba eq '{{ (now() + timedelta(days=1)).strftime('%Y-%m-%d') }}'"
  method: GET
  headers:
    accept: "application/json"
  value_template: "{{ value_json.value[0]['rce_pln'] }}"
  json_attributes:
    - value
  scan_interval: 3600

  1. Template sensor z bieżącą ceną RCE
# Sensor z bieżącą ceną
- platform: template
  sensors:
    current_rce_price:
      friendly_name: "Current RCE Price"
      value_template: >
        {% set current_time = now().strftime('%H:%M') %}
        {% set prices = state_attr('sensor.rce_prices_today', 'value') %}
        {% for price in prices %}
          {% set start_time = price.udtczas_oreb.split(' - ')[0] %}
          {% set end_time = price.udtczas_oreb.split(' - ')[1] %}
          {% if start_time <= current_time < end_time %}
            {{ price.rce_pln }}
          {% endif %}
        {% endfor %}
      unit_of_measurement: "PLN/MWh"

Automatyzacja do wklejenia do automations.yaml

Automatyzacja aktualizująca bieżącą cenę co 15 minut:

automations.yaml:
- id: '1718249833122'
  alias: Update Current RCE Price
  trigger:
    - platform: time_pattern
      minutes: "/15"
  action:
    - service: homeassistant.update_entity
      target:
        entity_id: sensor.current_rce_price

Plany rozwoju

W planach jest rozwój projektu w kierunku:

  • Obliczania najwyższych cen danej doby, co pozwoli na sterowanie oddaniem energii z magazynu energii w najbardziej korzystnym momencie.
  • Połączenie cen dzisiejszych z jutrzejszymi w celu zrobienia wykresu.
2 Likes

Spoko. Ja podszedłem inaczej bo zależy mi na pobraniu wszystkich cen do analizy żeby planować np. oddanie w dobrych cenach

:slight_smile: robiłem wykresy pokazujące ceny na dzisiaj i jutro.


Trzeba zainstalować ApexCharts Card prze HACS:

Kod kart wykresów do wklejenia:

Ceny dzisiaj:

type: custom:apexcharts-card
graph_span: 24h
span:
  start: day
update_interval: 15min
experimental:
  color_threshold: true
series:
  - entity: sensor.rce_prices_today
    attribute: value
    data_generator: |
      return entity.attributes.value.map(item => {
        return [new Date(item.udtczas).getTime(), item.rce_pln];
      });
    type: line
    name: Cena energii (jutro)
    curve: smooth
    stroke_width: 4
    color_threshold:
      - value: 0
        color: red
      - value: 300
        color: orange
      - value: 500
        color: yellow
      - value: 700
        color: green
header:
  show: true
  title: Ceny energii (PLN)
  show_states: false
  colorize_states: true
now:
  show: true
  label: Teraz
  color: red

Ceny Jutro:

type: custom:apexcharts-card
graph_span: 24h
span:
  start: day
  offset: +1d
update_interval: 15min
experimental:
  color_threshold: true
series:
  - entity: sensor.rce_prices_tomorrow
    attribute: value
    data_generator: |
      return entity.attributes.value.map(item => {
        return [new Date(item.udtczas).getTime(), item.rce_pln];
      });
    type: line
    name: Cena energii (jutro)
    curve: smooth
    stroke_width: 4
    color_threshold:
      - value: 0
        color: red
      - value: 300
        color: orange
      - value: 500
        color: yellow
      - value: 700
        color: green
header:
  show: true
  title: Ceny energii (PLN) - Jutro
  show_states: false
now:
  show: true
  label: Teraz
  color: red

Miłej zabawy :slight_smile:

jacek2511/ha_rce: Rynkowa cena energii elektrycznej (RCE) (github.com)

Przyjemna integracja

Ewentualnie:
PePeLLee/home-assistant-rce: integration for Rynkowa cena energii elektrycznej (RCE) (github.com)