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
- 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
- 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
- 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.