diff --git a/docs/TARYFA_G12W_GUIDE.md b/docs/TARYFA_G12W_GUIDE.md new file mode 100644 index 0000000..74fd31b --- /dev/null +++ b/docs/TARYFA_G12W_GUIDE.md @@ -0,0 +1,128 @@ +# Taryfa G12W - Szczegóły + +## Strefy cenowe: + +### Strefa NOCNA (tańsza - około 0.35 zł/kWh): +**Dni powszednie (Pn-Pt):** +- 22:00 - 07:00 (9 godzin) +- 13:00 - 15:00 (2 godziny) +**RAZEM: 11 godzin/dzień** + +**Weekendy i święta (Sob-Nd + święta):** +- 00:00 - 24:00 (cała doba) +**RAZEM: 24 godziny/dzień** + +### Strefa DZIENNA (droższa - około 0.75 zł/kWh): +**Dni powszednie:** +- 07:00 - 13:00 (6 godzin) +- 15:00 - 22:00 (7 godzin) +**RAZEM: 13 godzin/dzień** + +**Weekendy:** +- Brak (cała doba w strefie nocnej) + +--- + +## Optymalne okna ładowania: + +### 1. Główne okno nocne (9h): +``` +22:00 - 07:00 (dni powszednie) +``` +Najdłuższe, najlepsze do pełnego ładowania baterii + +### 2. Okno popołudniowe (2h): +``` +13:00 - 15:00 (dni powszednie) +``` +Krótkie, ale może uzupełnić brakujące kWh + +### 3. Weekendy: +``` +Cała doba (00:00 - 24:00) +``` +Można ładować kiedy tylko potrzeba + +--- + +## Strategia ładowania z Solcast + G12W: + +### Dni powszednie (Pn-Pt): + +**Bardzo pochmurnie (<3 kWh):** +- Program 1: 22:00 Grid → ładuj do maksimum +- Program 2: 13:00 Grid → doładuj jeśli trzeba +- Program 3: 15:00 Disabled → stop +- Cel: 95% SOC + +**Pochmurnie (3-6 kWh):** +- Program 1: 22:00 Grid +- Program 2: 07:00 Disabled +- Cel: 80% SOC + +**Średnio (6-13 kWh):** +- Program 1: 22:00 Grid +- Program 2: 04:00 Disabled (krócej) +- Cel: 60% SOC + +**Dobrze (13-20 kWh):** +- Tylko jeśli SOC < 40% +- Program 1: 22:00 Grid +- Program 2: 02:00 Disabled (bardzo krótko) + +**Słonecznie (>20 kWh):** +- Wyłącz ładowanie z sieci +- Tylko PV + +### Weekendy (Sob-Nd): + +**Dowolna pora = tania taryfa!** +- Można ładować rano (06:00-08:00) przed szczytem PV +- Lub w nocy jak zwykle (22:00-07:00) +- Elastyczność! + +--- + +## Harmonogramy Time-of-Use w Deye: + +Deye ma 6 programów (Program 1-6), każdy z: +- Czas startu (HH:MM) +- Tryb: Grid / Generator / Disabled / Both + +### Przykład - Bardzo pochmurnie: +``` +Program 1: 22:00 Grid (start ładowania wieczór) +Program 2: 13:00 Grid (doładowanie popołudnie) +Program 3: 15:00 Disabled (stop popołudnie) +Program 4: 07:00 Disabled (stop rano - nie używany w weekend) +Program 5: Disabled +Program 6: Disabled +``` + +### Przykład - Słonecznie: +``` +Program 1: 00:00 Disabled (brak ładowania z sieci) +Program 2-6: Disabled +``` + +--- + +## Różnice G12W vs standardowa G12: + +| Parametr | G12 (stara) | G12W (nowa) | +|----------|-------------|-------------| +| Nocna Pn-Pt | 22:00-06:00 | 22:00-07:00, 13:00-15:00 | +| Weekend | Jak w tygodniu | **Cała doba tańsza** | +| Godzin tanich/tydzień | 8h × 7 = 56h | 11h × 5 + 24h × 2 = 103h | +| Oszczędności | Standard | **+84% więcej tanich godzin!** | + +--- + +## Zalecenia dla użytkownika: + +✅ **Wykorzystuj okno 13:00-15:00** w pochmurne dni +✅ **Weekendy = elastyczność** (cała doba tania) +✅ **Priorytet: 22:00-07:00** (najdłuższe okno) +✅ **Solcast decyduje** ile ładować każdego wieczora + +💰 **Oszczędności z G12W:** ~50-70 zł/miesiąc więcej niż G12! diff --git a/docs/TARYFA_G12W_GUIDE.md b/docs/TARYFA_G12W_GUIDE.md new file mode 100644 index 0000000..74fd31b --- /dev/null +++ b/docs/TARYFA_G12W_GUIDE.md @@ -0,0 +1,128 @@ +# Taryfa G12W - Szczegóły + +## Strefy cenowe: + +### Strefa NOCNA (tańsza - około 0.35 zł/kWh): +**Dni powszednie (Pn-Pt):** +- 22:00 - 07:00 (9 godzin) +- 13:00 - 15:00 (2 godziny) +**RAZEM: 11 godzin/dzień** + +**Weekendy i święta (Sob-Nd + święta):** +- 00:00 - 24:00 (cała doba) +**RAZEM: 24 godziny/dzień** + +### Strefa DZIENNA (droższa - około 0.75 zł/kWh): +**Dni powszednie:** +- 07:00 - 13:00 (6 godzin) +- 15:00 - 22:00 (7 godzin) +**RAZEM: 13 godzin/dzień** + +**Weekendy:** +- Brak (cała doba w strefie nocnej) + +--- + +## Optymalne okna ładowania: + +### 1. Główne okno nocne (9h): +``` +22:00 - 07:00 (dni powszednie) +``` +Najdłuższe, najlepsze do pełnego ładowania baterii + +### 2. Okno popołudniowe (2h): +``` +13:00 - 15:00 (dni powszednie) +``` +Krótkie, ale może uzupełnić brakujące kWh + +### 3. Weekendy: +``` +Cała doba (00:00 - 24:00) +``` +Można ładować kiedy tylko potrzeba + +--- + +## Strategia ładowania z Solcast + G12W: + +### Dni powszednie (Pn-Pt): + +**Bardzo pochmurnie (<3 kWh):** +- Program 1: 22:00 Grid → ładuj do maksimum +- Program 2: 13:00 Grid → doładuj jeśli trzeba +- Program 3: 15:00 Disabled → stop +- Cel: 95% SOC + +**Pochmurnie (3-6 kWh):** +- Program 1: 22:00 Grid +- Program 2: 07:00 Disabled +- Cel: 80% SOC + +**Średnio (6-13 kWh):** +- Program 1: 22:00 Grid +- Program 2: 04:00 Disabled (krócej) +- Cel: 60% SOC + +**Dobrze (13-20 kWh):** +- Tylko jeśli SOC < 40% +- Program 1: 22:00 Grid +- Program 2: 02:00 Disabled (bardzo krótko) + +**Słonecznie (>20 kWh):** +- Wyłącz ładowanie z sieci +- Tylko PV + +### Weekendy (Sob-Nd): + +**Dowolna pora = tania taryfa!** +- Można ładować rano (06:00-08:00) przed szczytem PV +- Lub w nocy jak zwykle (22:00-07:00) +- Elastyczność! + +--- + +## Harmonogramy Time-of-Use w Deye: + +Deye ma 6 programów (Program 1-6), każdy z: +- Czas startu (HH:MM) +- Tryb: Grid / Generator / Disabled / Both + +### Przykład - Bardzo pochmurnie: +``` +Program 1: 22:00 Grid (start ładowania wieczór) +Program 2: 13:00 Grid (doładowanie popołudnie) +Program 3: 15:00 Disabled (stop popołudnie) +Program 4: 07:00 Disabled (stop rano - nie używany w weekend) +Program 5: Disabled +Program 6: Disabled +``` + +### Przykład - Słonecznie: +``` +Program 1: 00:00 Disabled (brak ładowania z sieci) +Program 2-6: Disabled +``` + +--- + +## Różnice G12W vs standardowa G12: + +| Parametr | G12 (stara) | G12W (nowa) | +|----------|-------------|-------------| +| Nocna Pn-Pt | 22:00-06:00 | 22:00-07:00, 13:00-15:00 | +| Weekend | Jak w tygodniu | **Cała doba tańsza** | +| Godzin tanich/tydzień | 8h × 7 = 56h | 11h × 5 + 24h × 2 = 103h | +| Oszczędności | Standard | **+84% więcej tanich godzin!** | + +--- + +## Zalecenia dla użytkownika: + +✅ **Wykorzystuj okno 13:00-15:00** w pochmurne dni +✅ **Weekendy = elastyczność** (cała doba tania) +✅ **Priorytet: 22:00-07:00** (najdłuższe okno) +✅ **Solcast decyduje** ile ładować każdego wieczora + +💰 **Oszczędności z G12W:** ~50-70 zł/miesiąc więcej niż G12! diff --git a/ha-configs/solcast_automations_g12w.yaml b/ha-configs/solcast_automations_g12w.yaml new file mode 100644 index 0000000..7ee6ecc --- /dev/null +++ b/ha-configs/solcast_automations_g12w.yaml @@ -0,0 +1,514 @@ +# 🔋 Automatyzacje Solcast + Taryfa G12W +# Instalacja: 5.0 kWp, Żarki +# Taryfa: G12W (22:00-07:00 + 13:00-15:00 + weekendy całą dobę) + +automation: + # ============================================ + # INTELIGENTNE ŁADOWANIE - DNI POWSZEDNIE + # ============================================ + + - alias: "Solcast G12W - Bardzo pochmurnie (Pn-Pt)" + description: "Maksymalne ładowanie gdy jutro < 3 kWh, dni powszednie" + trigger: + - platform: time + at: "21:30:00" # Wcześniej, żeby zdążyć przed 22:00 + + condition: + # Dni powszednie (Pn-Pt) + - condition: time + weekday: + - mon + - tue + - wed + - thu + - fri + + # Bardzo mała produkcja jutro + - condition: numeric_state + entity_id: sensor.solcast_pv_forecast_prognoza_na_jutro + below: 3 + + # Bateria nie pełna + - condition: numeric_state + entity_id: sensor.inverter_deye_battery_soc + below: 95 + + action: + # Włącz ładowanie z sieci + - service: switch.turn_on + target: + entity_id: switch.inverter_deye_battery_grid_charging + + # Program 1: Start 22:00 (główne okno nocne) + - 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: "22:00:00" + + # Program 2: Start 13:00 (okno popołudniowe - doładowanie) + - service: select.select_option + target: + entity_id: select.inverter_deye_program_2_charging + data: + option: "Grid" + + - service: time.set_value + target: + entity_id: time.inverter_deye_program_2_time + data: + time: "13:00:00" + + # Program 3: Stop 15:00 (koniec okna popołudniowego) + - service: select.select_option + target: + entity_id: select.inverter_deye_program_3_charging + data: + option: "Disabled" + + - service: time.set_value + target: + entity_id: time.inverter_deye_program_3_time + data: + time: "15:00:00" + + # Program 4: Stop 07:00 (koniec okna nocnego) + - service: select.select_option + target: + entity_id: select.inverter_deye_program_4_charging + data: + option: "Disabled" + + - service: time.set_value + target: + entity_id: time.inverter_deye_program_4_time + data: + time: "07:00:00" + + # Powiadomienie + - service: notify.persistent_notification + data: + title: "🌧️ Solcast G12W: Bardzo pochmurnie!" + message: | + Prognoza na jutro: {{ states('sensor.solcast_pv_forecast_prognoza_na_jutro') }} kWh + + ⚡ Pełne ładowanie z sieci: + • 22:00-07:00 (9h nocne) + • 13:00-15:00 (2h popołudniowe) + + 🎯 Cel: 95% SOC + 💰 Taryfa: G12W (tania) + + - alias: "Solcast G12W - Pochmurnie (Pn-Pt)" + description: "Ładuj do 80% gdy jutro 3-6 kWh, dni powszednie" + trigger: + - platform: time + at: "21:30:00" + + condition: + - condition: time + weekday: + - mon + - tue + - wed + - thu + - fri + + - condition: numeric_state + entity_id: sensor.solcast_pv_forecast_prognoza_na_jutro + above: 3 + below: 6 + + - 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 + + # Program 1: 22:00 Grid (tylko główne okno nocne) + - 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: "22:00:00" + + # Program 2: 07:00 Stop (koniec nocnego) + - 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" + + # Program 3: Disabled + - service: select.select_option + target: + entity_id: select.inverter_deye_program_3_charging + data: + option: "Disabled" + + - service: notify.persistent_notification + data: + title: "🌥️ Solcast G12W: Pochmurnie" + message: | + Prognoza: {{ states('sensor.solcast_pv_forecast_prognoza_na_jutro') }} kWh + + ⚡ Ładowanie 22:00-07:00 + 🎯 Cel: 80% SOC + 💰 Oszczędność: pominięcie okna 13:00-15:00 + + - alias: "Solcast G12W - Średnie nasłonecznienie (Pn-Pt)" + description: "Ładuj do 60% gdy jutro 6-13 kWh" + trigger: + - platform: time + at: "21:30:00" + + condition: + - condition: time + weekday: + - mon + - tue + - wed + - thu + - fri + + - condition: numeric_state + entity_id: sensor.solcast_pv_forecast_prognoza_na_jutro + above: 6 + below: 13 + + - 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 + + # Program 1: 22:00 Grid + - 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: "22:00:00" + + # Program 2: 04:00 Stop (skrócone okno) + - 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 G12W: Średnio" + message: | + Prognoza: {{ states('sensor.solcast_pv_forecast_prognoza_na_jutro') }} kWh + + ⚡ Ładowanie 22:00-04:00 (6h) + 🎯 Cel: 60% SOC + + - alias: "Solcast G12W - Słonecznie (Pn-Pt)" + description: "Wyłącz ładowanie gdy jutro > 13 kWh" + trigger: + - platform: time + at: "21:30:00" + + condition: + - condition: time + weekday: + - mon + - tue + - wed + - thu + - fri + + - condition: numeric_state + entity_id: sensor.solcast_pv_forecast_prognoza_na_jutro + above: 13 + + - 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 + + # Wszystkie programy disabled + - service: select.select_option + target: + entity_id: select.inverter_deye_program_1_charging + data: + option: "Disabled" + + - service: notify.persistent_notification + data: + title: "☀️ Solcast G12W: Słonecznie!" + message: | + Prognoza: {{ states('sensor.solcast_pv_forecast_prognoza_na_jutro') }} kWh + + 🚫 Ładowanie z sieci WYŁĄCZONE + ☀️ Tylko PV! + 💰 Maksymalne oszczędności! + + # ============================================ + # WEEKENDY - CAŁA DOBA W TANIEJ TARYFIE + # ============================================ + + - alias: "Solcast G12W - Weekend pochmurnie" + description: "Ładowanie w weekend (tania taryfa całą dobę)" + trigger: + - platform: time + at: "21:30:00" + + condition: + # Weekend (Sob-Nd) + - condition: time + weekday: + - sat + - sun + + # Mało słońca jutro + - condition: numeric_state + entity_id: sensor.solcast_pv_forecast_prognoza_na_jutro + below: 6 + + - 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 + + # W weekend - ładuj rano przed szczytem PV (elastyczność!) + # Program 1: 06:00 Grid (rano) + - 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: "06:00:00" + + # Program 2: 09:00 Stop (przed szczytem PV) + - 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: "09:00:00" + + - service: notify.persistent_notification + data: + title: "🌥️ Solcast G12W: Weekend" + message: | + Prognoza: {{ states('sensor.solcast_pv_forecast_prognoza_na_jutro') }} kWh + + ⚡ Ładowanie 06:00-09:00 (3h) + 💰 Weekend = taryfa nocna całą dobę! + 🎯 Cel: 80% SOC przed wschodem słońca + + - alias: "Solcast G12W - Weekend słonecznie" + description: "Minimalnie ładuj w weekend gdy słonecznie" + trigger: + - platform: time + at: "21:30:00" + + condition: + - condition: time + weekday: + - sat + - sun + + # Dużo słońca jutro + - condition: numeric_state + entity_id: sensor.solcast_pv_forecast_prognoza_na_jutro + above: 6 + + - condition: numeric_state + entity_id: sensor.inverter_deye_battery_soc + above: 40 + + action: + # Wyłącz ładowanie - nawet w weekend nie trzeba + - service: switch.turn_off + target: + entity_id: switch.inverter_deye_battery_grid_charging + + - service: notify.persistent_notification + data: + title: "☀️ Solcast G12W: Weekend słonecznie!" + message: | + Prognoza: {{ states('sensor.solcast_pv_forecast_prognoza_na_jutro') }} kWh + + 🚫 Ładowanie wyłączone + ☀️ Wystarczy PV! + + # ============================================ + # RAPORTY + # ============================================ + + - alias: "Solcast G12W - Raport poranny" + description: "Raport o 7:00 z informacją o taryfie" + trigger: + - platform: time + at: "07:00:00" + + action: + - service: notify.persistent_notification + data: + title: "☀️ Prognoza PV + Taryfa G12W" + message: | + 📅 Dzisiaj: {{ states('sensor.solcast_pv_forecast_prognoza_na_dzisiaj') }} kWh + 📅 Jutro: {{ states('sensor.solcast_pv_forecast_prognoza_na_jutro') }} kWh + 🔋 Bateria: {{ states('sensor.inverter_deye_battery_soc') }}% + + {% if now().weekday() < 5 %} + 💰 Dziś: Dni powszedni + ⚡ Tania taryfa: 13:00-15:00, 22:00-07:00 + {% else %} + 💰 Dziś: Weekend + ⚡ Tania taryfa: CAŁA DOBA! 🎉 + {% endif %} + + {% set forecast = states('sensor.solcast_pv_forecast_prognoza_na_dzisiaj') | float(0) %} + {% if forecast > 15 %}☀️ Doskonale! + {% elif forecast > 10 %}🌤️ Dobrze + {% elif forecast > 5 %}⛅ Średnio + {% else %}🌥️ Słabo{% endif %} + + - alias: "Solcast G12W - Raport wieczorny" + description: "Dokładność + oszczędności" + trigger: + - platform: time + at: "23:00:00" + + action: + - service: notify.persistent_notification + data: + title: "📊 Solcast G12W: Podsumowanie" + message: | + 📈 Prognoza: {{ states('sensor.solcast_pv_forecast_prognoza_na_dzisiaj') }} kWh + 📊 Rzeczywista: {{ states('sensor.inverter_deye_daily_production') }} kWh + + {% set forecast = states('sensor.solcast_pv_forecast_prognoza_na_dzisiaj') | 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 }}% + + 💰 Ładowanie z sieci: + {% if is_state('switch.inverter_deye_battery_grid_charging', 'on') %} + ✅ Było aktywne (taryfa G12W) + {% else %} + 🚫 Wyłączone (PV wystarczyło) + {% endif %} + + {% if now().weekday() < 5 %} + 📅 Jutro: Dzień powszedni (11h taniej) + {% else %} + 📅 Jutro: Weekend (24h taniej!) 🎉 + {% endif %} + + # ============================================ + # BEZPIECZEŃSTWO - OCHRONA BATERII + # ============================================ + + - alias: "Solcast G12W - Awaryjne ładowanie SOC<15%" + description: "Bezpieczeństwo: ładuj natychmiast gdy bateria niska" + trigger: + - platform: numeric_state + entity_id: sensor.inverter_deye_battery_soc + below: 15 + + condition: + # Tylko w godzinach taniej taryfy + - condition: or + conditions: + # Dni powszednie: 22:00-07:00 lub 13:00-15:00 + - condition: and + conditions: + - condition: time + weekday: + - mon + - tue + - wed + - thu + - fri + - condition: or + conditions: + - condition: time + after: "22:00:00" + before: "23:59:59" + - condition: time + after: "00:00:00" + before: "07:00:00" + - condition: time + after: "13:00:00" + before: "15:00:00" + + # Weekend: cała doba + - condition: time + weekday: + - sat + - sun + + action: + - service: switch.turn_on + target: + entity_id: switch.inverter_deye_battery_grid_charging + + - service: notify.persistent_notification + data: + title: "⚠️ AWARYJNE ŁADOWANIE!" + message: | + 🔋 Bateria: {{ states('sensor.inverter_deye_battery_soc') }}% + ⚡ Włączono ładowanie z sieci (G12W taryfa) + + Bezpieczeństwo baterii!