Rynkowe ceny energii elektrycznej

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 polubienia