993a3c9908f52e6011554e1ebc95bf81d79b6f99
Integracja Home Assistant z Pstryk API
Integracja dla Home Assistant umożliwiająca śledzenie aktualnych cen energii elektrycznej oraz prognoz z platformy Pstryk.
Funkcje
- 🔌 Aktualna cena kupna i sprzedaży energii
- 📅 Tabela 24h z prognozowanymi cenami
- ⚙️ Konfigurowalna liczba "najlepszych godzin"
- ⏰ Automatyczna konwersja czasu UTC → lokalny
- 🔄 Aktualizuje dane 1 minutę po pełnej godzinie
- 🛡️ Debug i logowanie
- 🧩 Konfiguracja z poziomu integracji
TODO
- Walidacja kluacza API
Instalacja
Metoda 1: Via HACS
- W HACS przejdź do
Integracje - Kliknij
Dodaj repozytorium - Wpisz URL:
https://github.com/twoj_nick/pstryk-homeassistant - Wybierz kategorię:
Integration - Zainstaluj i zrestartuj Home Assistant
Metoda 2: Ręczna instalacja
- Utwórz folder
custom_components/pstrykw katalogu konfiguracyjnym HA - Skopiuj pliki: init.py manifest.json config_flow.py const.py sensor.py logo.png (opcjonalnie)
- Zrestartuj Home Assistant
Konfiguracja
- Przejdź do
Ustawienia→Urządzenia i usługi - Kliknij
Dodaj integrację - Wyszukaj "Psrryk Energy"
- Wprowadź dane:
- Klucz API: Twój klucz z platformy PSTryk
- Liczba najlepszych cen kupna: (domyślnie 5)
- Liczba najlepszych cen sprzedaży: (domyślnie 5)
Scrnshoty
Użycie
Dostępne encje
| Nazwa encji | Opis |
|---|---|
sensor.pstryk_current_buy_price |
Aktualna cena kupna |
sensor.pstryk_current_sell_price |
Aktualna cena sprzedaży |
sensor.pstryk_buy_price_table |
Tabela cen kupna |
sensor.pstryk_sell_price_table |
Tabela cen sprzedaży |
Przykładowa Automatyzacja:
alias: Optymalne grzanie wody
description: ""
triggers:
- minutes: "1"
trigger: time_pattern
hours: /1
conditions:
- condition: template
value_template: >
{% set current_hour = now().replace(minute=0, second=0,
microsecond=0).isoformat(timespec='seconds').split('+')[0] %}
{% set best_hours = state_attr('sensor.pstryk_buy_price_table',
'best_prices') | map(attribute='start') | list %}
{{ current_hour in best_hours }}
actions:
- variables:
current_hour: >-
{{ now().replace(minute=0, second=0,
microsecond=0).isoformat(timespec='seconds').split('+')[0] }}
- choose:
- conditions:
- condition: state
entity_id: light.shellypro3_34987a49142c_switch_2
state: "off"
sequence:
- target:
entity_id: switch.shellypro3_34987a49142c_switch_2
action: switch.turn_on
data: {}
- data:
message: |
Grzanie włączone! Godzina: {{ current_hour }}, Cena: {{
state_attr('sensor.pstryk_buy_price_table', 'best_prices')
| selectattr('start', 'equalto', current_hour)
| map(attribute='price')
| first
}} PLN
action: notify.mobile_app_balg_iphone
- conditions:
- condition: state
entity_id: light.shellypro3_34987a49142c_switch_2
state: "on"
sequence:
- delay:
hours: 1
minutes: 5
- target:
entity_id: switch.shellypro3_34987a49142c_switch_2
action: switch.turn_off
data: {}
Rozładowanie magazynu energii - Sprzedaż po najlepszej cenie
Description
Languages
Python
100%