diff --git a/current-config/SOLCAST_INSTALLATION_PARAMS.md b/current-config/SOLCAST_INSTALLATION_PARAMS.md new file mode 100644 index 0000000..d574ccd --- /dev/null +++ b/current-config/SOLCAST_INSTALLATION_PARAMS.md @@ -0,0 +1,109 @@ +# ☀️ Parametry instalacji PV - Solcast + +**Data:** 2026-02-05 +**Środowisko:** TEST (192.168.50.151) + +--- + +## 📊 Parametry instalacji + +```yaml +Lokalizacja: + Adres: ul. Wschodnia 18, Żarki, 42-310 + Miasto: Żarki + Województwo: Śląskie + Kraj: Polska + +Współrzędne GPS: + Latitude: 50.7861 + Longitude: 19.4228 + +Instalacja PV: + Liczba paneli: 10 + Moc panela: 505 W + Moc łączna: 5.05 kWp (zaokrąglij do 5.0 kWp) + +Parametry do Solcast: + Capacity: 5.0 kWp + Tilt: 35° (typowo dla Polski, dostosuj do rzeczywistego) + Azimuth: 180° (południe - domyślnie, sprawdź Google Maps) + Tracking: Fixed +``` + +--- + +## 🔧 Konfiguracja w Solcast Dashboard + +### Krok 1: Rejestracja +``` +URL: https://solcast.com/ +Email: wkonieczny85@gmail.com +Hasło: QWer!@34_solcast +``` + +### Krok 2: Dodaj instalację (Rooftop Site) + +```yaml +Resource Name: "Żarki Dom" + +Location: + Address: "ul. Wschodnia 18, Żarki, 42-310, Poland" + lub Współrzędne: + Latitude: 50.7861 + Longitude: 19.4228 + +Capacity: 5.0 kWp + +Tilt: 35° + (Kąt nachylenia dachu - zmierz aplikacją lub dostosuj) + +Azimuth: 180° + (Kierunek paneli - południe) + 💡 Sprawdź dokładnie w Google Maps: + - 180° = Południe (S) + - 135° = Południowy-Wschód (SE) + - 225° = Południowy-Zachód (SW) + +Install Date: [Data instalacji PV] + +Tracking Type: Fixed +``` + +### Krok 3: Pobierz API Key +``` +Dashboard → Account → API Toolkit → Copy API Key +``` + +--- + +## 📈 Przewidywane wartości dla Żarków (5.0 kWp) + +```yaml +Produkcja dzienna (szacunki): + Grudzień/Styczeń: 1-5 kWh/dzień (zima) + Marzec/Październik: 10-18 kWh/dzień (wiosna/jesień) + Czerwiec/Lipiec: 22-32 kWh/dzień (lato) + +Progi dla automatyzacji: + Pochmurnie: < 5 kWh + Średnio: 5-15 kWh + Słonecznie: > 18 kWh +``` + +--- + +## 🤖 Automatyzacje - dostosowane progi + +```yaml +Instalacja 5.0 kWp: + + Bardzo pochmurnie: < 3 kWh → Ładuj do 95% + Pochmurnie: < 6 kWh → Ładuj do 80% + Średnio: 6-13 kWh → Ładuj do 60% + Dobrze: 13-20 kWh → Ładuj minimalnie + Słonecznie: > 20 kWh → Nie ładuj +``` + +--- + +**Status:** Parametry zapisane, oczekuje na API Key diff --git a/current-config/SOLCAST_INSTALLATION_PARAMS.md b/current-config/SOLCAST_INSTALLATION_PARAMS.md new file mode 100644 index 0000000..d574ccd --- /dev/null +++ b/current-config/SOLCAST_INSTALLATION_PARAMS.md @@ -0,0 +1,109 @@ +# ☀️ Parametry instalacji PV - Solcast + +**Data:** 2026-02-05 +**Środowisko:** TEST (192.168.50.151) + +--- + +## 📊 Parametry instalacji + +```yaml +Lokalizacja: + Adres: ul. Wschodnia 18, Żarki, 42-310 + Miasto: Żarki + Województwo: Śląskie + Kraj: Polska + +Współrzędne GPS: + Latitude: 50.7861 + Longitude: 19.4228 + +Instalacja PV: + Liczba paneli: 10 + Moc panela: 505 W + Moc łączna: 5.05 kWp (zaokrąglij do 5.0 kWp) + +Parametry do Solcast: + Capacity: 5.0 kWp + Tilt: 35° (typowo dla Polski, dostosuj do rzeczywistego) + Azimuth: 180° (południe - domyślnie, sprawdź Google Maps) + Tracking: Fixed +``` + +--- + +## 🔧 Konfiguracja w Solcast Dashboard + +### Krok 1: Rejestracja +``` +URL: https://solcast.com/ +Email: wkonieczny85@gmail.com +Hasło: QWer!@34_solcast +``` + +### Krok 2: Dodaj instalację (Rooftop Site) + +```yaml +Resource Name: "Żarki Dom" + +Location: + Address: "ul. Wschodnia 18, Żarki, 42-310, Poland" + lub Współrzędne: + Latitude: 50.7861 + Longitude: 19.4228 + +Capacity: 5.0 kWp + +Tilt: 35° + (Kąt nachylenia dachu - zmierz aplikacją lub dostosuj) + +Azimuth: 180° + (Kierunek paneli - południe) + 💡 Sprawdź dokładnie w Google Maps: + - 180° = Południe (S) + - 135° = Południowy-Wschód (SE) + - 225° = Południowy-Zachód (SW) + +Install Date: [Data instalacji PV] + +Tracking Type: Fixed +``` + +### Krok 3: Pobierz API Key +``` +Dashboard → Account → API Toolkit → Copy API Key +``` + +--- + +## 📈 Przewidywane wartości dla Żarków (5.0 kWp) + +```yaml +Produkcja dzienna (szacunki): + Grudzień/Styczeń: 1-5 kWh/dzień (zima) + Marzec/Październik: 10-18 kWh/dzień (wiosna/jesień) + Czerwiec/Lipiec: 22-32 kWh/dzień (lato) + +Progi dla automatyzacji: + Pochmurnie: < 5 kWh + Średnio: 5-15 kWh + Słonecznie: > 18 kWh +``` + +--- + +## 🤖 Automatyzacje - dostosowane progi + +```yaml +Instalacja 5.0 kWp: + + Bardzo pochmurnie: < 3 kWh → Ładuj do 95% + Pochmurnie: < 6 kWh → Ładuj do 80% + Średnio: 6-13 kWh → Ładuj do 60% + Dobrze: 13-20 kWh → Ładuj minimalnie + Słonecznie: > 20 kWh → Nie ładuj +``` + +--- + +**Status:** Parametry zapisane, oczekuje na API Key diff --git a/ha-configs/solcast_automations_zarki.yaml b/ha-configs/solcast_automations_zarki.yaml new file mode 100644 index 0000000..1f488dd --- /dev/null +++ b/ha-configs/solcast_automations_zarki.yaml @@ -0,0 +1,290 @@ +# 🤖 Automatyzacje Solcast dla instalacji w Żarkach (5.0 kWp) +# Dostosowane progi dla małej instalacji + +automation: + # ============================================ + # INTELIGENTNE ŁADOWANIE OPARTE NA PROGNOZIE + # ============================================ + + - alias: "Solcast - Bardzo pochmurnie jutro" + description: "Ładuj do maksimum gdy jutro < 3 kWh" + trigger: + - platform: time + at: "22:00:00" + + condition: + # Bardzo mała produkcja jutro + - condition: numeric_state + entity_id: sensor.solcast_pv_forecast_forecast_tomorrow + below: 2 + + # Bateria nie pełna + - condition: numeric_state + entity_id: sensor.inverter_deye_battery_soc + below: 95 + + action: + # Włącz ładowanie + - service: switch.turn_on + target: + entity_id: switch.inverter_deye_battery_grid_charging + + # Ustaw program nocny (01:00-07:00) + - service: select.select_option + target: + entity_id: select.inverter_deye_program_1_charging + data: + option: "Grid" + + - service: time.set_value + target: + entity_id: time.inverter_deye_program_1_time + data: + time: "01:00:00" + + # Ustaw program koniec (07:00) + - service: select.select_option + target: + entity_id: select.inverter_deye_program_2_charging + data: + option: "Disabled" + + - service: time.set_value + target: + entity_id: time.inverter_deye_program_2_time + data: + time: "07:00:00" + + # Powiadomienie + - service: notify.persistent_notification + data: + title: "🌧️ Solcast: Bardzo pochmurnie!" + message: | + Prognoza na jutro: {{ states('sensor.solcast_pv_forecast_forecast_tomorrow') }} kWh + Włączono pełne ładowanie z sieci (01:00-07:00) + Cel: 95% SOC + + - alias: "Solcast - Pochmurnie jutro" + description: "Ładuj do 80% gdy jutro 3-6 kWh" + trigger: + - platform: time + at: "22:00:00" + + condition: + # Mała produkcja + - condition: numeric_state + entity_id: sensor.solcast_pv_forecast_forecast_tomorrow + above: 2 + below: 5 + + # Bateria poniżej 80% + - condition: numeric_state + entity_id: sensor.inverter_deye_battery_soc + below: 80 + + action: + - service: switch.turn_on + target: + entity_id: switch.inverter_deye_battery_grid_charging + + - service: select.select_option + target: + entity_id: select.inverter_deye_program_1_charging + data: + option: "Grid" + + - service: time.set_value + target: + entity_id: time.inverter_deye_program_1_time + data: + time: "01:00:00" + + - service: notify.persistent_notification + data: + title: "🌥️ Solcast: Pochmurnie" + message: | + Prognoza: {{ states('sensor.solcast_pv_forecast_forecast_tomorrow') }} kWh + Ładowanie do 80% SOC + + - alias: "Solcast - Średnie nasłonecznienie" + description: "Ładuj do 60% gdy jutro 6-13 kWh" + trigger: + - platform: time + at: "22:00:00" + + condition: + - condition: numeric_state + entity_id: sensor.solcast_pv_forecast_forecast_tomorrow + above: 5 + below: 12 + + - condition: numeric_state + entity_id: sensor.inverter_deye_battery_soc + below: 60 + + action: + - service: switch.turn_on + target: + entity_id: switch.inverter_deye_battery_grid_charging + + - service: select.select_option + target: + entity_id: select.inverter_deye_program_1_charging + data: + option: "Grid" + + - service: time.set_value + target: + entity_id: time.inverter_deye_program_1_time + data: + time: "01:00:00" + + - service: notify.persistent_notification + data: + title: "⛅ Solcast: Średnio" + message: | + Prognoza: {{ states('sensor.solcast_pv_forecast_forecast_tomorrow') }} kWh + Ładowanie do 60% SOC + + - alias: "Solcast - Dobrze słonecznie" + description: "Minimalne ładowanie gdy jutro 13-20 kWh" + trigger: + - platform: time + at: "22:00:00" + + condition: + - condition: numeric_state + entity_id: sensor.solcast_pv_forecast_forecast_tomorrow + above: 12 + below: 18 + + # Tylko jeśli bateria naprawdę niska + - condition: numeric_state + entity_id: sensor.inverter_deye_battery_soc + below: 40 + + action: + - service: switch.turn_on + target: + entity_id: switch.inverter_deye_battery_grid_charging + + # Tylko krótkie ładowanie (01:00-04:00) + - service: select.select_option + target: + entity_id: select.inverter_deye_program_1_charging + data: + option: "Grid" + + - service: time.set_value + target: + entity_id: time.inverter_deye_program_1_time + data: + time: "01:00:00" + + - service: select.select_option + target: + entity_id: select.inverter_deye_program_2_charging + data: + option: "Disabled" + + - service: time.set_value + target: + entity_id: time.inverter_deye_program_2_time + data: + time: "04:00:00" + + - service: notify.persistent_notification + data: + title: "🌤️ Solcast: Dobrze" + message: | + Prognoza: {{ states('sensor.solcast_pv_forecast_forecast_tomorrow') }} kWh + Minimalne ładowanie (tylko do 40%) + + - alias: "Solcast - Słonecznie!" + description: "Wyłącz ładowanie gdy jutro > 20 kWh" + trigger: + - platform: time + at: "22:00:00" + + condition: + # Duża produkcja jutro + - condition: numeric_state + entity_id: sensor.solcast_pv_forecast_forecast_tomorrow + above: 18 + + # I bateria ma przynajmniej 30% + - condition: numeric_state + entity_id: sensor.inverter_deye_battery_soc + above: 30 + + action: + # Wyłącz ładowanie z sieci + - service: switch.turn_off + target: + entity_id: switch.inverter_deye_battery_grid_charging + + - service: select.select_option + target: + entity_id: select.inverter_deye_program_1_charging + data: + option: "Disabled" + + - service: notify.persistent_notification + data: + title: "☀️ Solcast: Będzie słonecznie!" + message: | + Prognoza: {{ states('sensor.solcast_pv_forecast_forecast_tomorrow') }} kWh + Ładowanie z sieci WYŁĄCZONE - oszczędzasz! 💰 + + # ============================================ + # RAPORT PORANNY + # ============================================ + + - alias: "Solcast - Raport poranny" + description: "Dzienny raport prognozy o 7:00" + trigger: + - platform: time + at: "07:00:00" + + action: + - service: notify.persistent_notification + data: + title: "☀️ Prognoza produkcji PV" + message: | + 📅 Dzisiaj: {{ states('sensor.solcast_pv_forecast_forecast_today') }} kWh + 📅 Jutro: {{ states('sensor.solcast_pv_forecast_forecast_tomorrow') }} kWh + 🔋 Bateria: {{ states('sensor.inverter_deye_battery_soc') }}% + + Strategia dziś: + {% set forecast_today = states('sensor.solcast_pv_forecast_forecast_today') | float(0) %} + {% if forecast_today > 15 %}☀️ Doskonale - dużo słońca! + {% elif forecast_today > 10 %}🌤️ Dobrze - będzie produkcja + {% elif forecast_today > 5 %}⛅ Średnio - trochę słońca + {% else %}🌥️ Słabo - mało produkcji{% endif %} + + # ============================================ + # MONITORING ACCURACY + # ============================================ + + - alias: "Solcast - Raport wieczorny accuracy" + description: "Porównaj prognozę z rzeczywistością" + trigger: + - platform: time + at: "23:00:00" + + action: + - service: notify.persistent_notification + data: + title: "📊 Solcast: Dokładność prognozy" + message: | + Prognoza dzisiaj: {{ states('sensor.solcast_pv_forecast_forecast_today') }} kWh + Rzeczywista produkcja: {{ states('sensor.inverter_deye_daily_production') }} kWh + + {% set forecast = states('sensor.solcast_pv_forecast_forecast_today') | float(0) %} + {% set actual = states('sensor.inverter_deye_daily_production') | float(0) %} + {% set diff = ((actual - forecast) / forecast * 100) | round(1) if forecast > 0 else 0 %} + Różnica: {{ diff }}% + + {% if diff | abs < 10 %}✅ Doskonała prognoza! + {% elif diff | abs < 20 %}👍 Dobra prognoza + {% else %}⚠️ Spore odchylenie{% endif %}