diff --git a/ha-configs/solcast_automations_g12w_v10_weekend_fix.yaml b/ha-configs/solcast_automations_g12w_v10_weekend_fix.yaml new file mode 100644 index 0000000..1e61880 --- /dev/null +++ b/ha-configs/solcast_automations_g12w_v10_weekend_fix.yaml @@ -0,0 +1,481 @@ +# ============================================ +# SOLCAST + TARYFA G12W v10 +# Inteligentne ładowanie baterii +# Żarki, 5.0 kWp +# +# HARMONOGRAM: +# Pn-Czw 21:30: Ustaw ładowanie 22:01-06:00 (+ 13-15 jeśli <3kWh) +# Pt 21:30: WYŁĄCZ programy (sobota = tani weekend) +# Sob 21:30: WYŁĄCZ programy (niedziela = tani weekend) +# Nd 21:30: Ustaw ładowanie 22:01-06:00 na poniedziałek +# ============================================ + +- alias: "Solcast - Raport poranny" + description: "Dzienny raport o 7:00" + trigger: + - platform: time + at: "07:00:00" + action: + - service: notify.persistent_notification + data: + title: "☀️ Prognoza PV" + message: | + Dziś: {{ 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') }}% + +# ============================================ +# PONIEDZIAŁEK-CZWARTEK - BARDZO POCHMURNIE (<3 kWh) +# ============================================ + +- alias: "Solcast G12W - Bardzo pochmurnie (Pn-Czw)" + description: "Ładowanie 22:01-06:00 + 13:00-15:00 gdy < 3 kWh" + trigger: + - platform: time + at: "21:30:00" + condition: + - condition: time + weekday: [mon, tue, wed, thu] + - condition: numeric_state + entity_id: sensor.solcast_pv_forecast_prognoza_na_jutro + below: 3 + - condition: numeric_state + entity_id: sensor.inverter_deye_battery + below: 95 + action: + - service: switch.turn_on + target: + entity_id: switch.inverter_deye_battery_grid_charging + + # Program 1: 22:01 Start + - service: time.set_value + target: + entity_id: time.inverter_deye_program_1_time + data: + time: "22:01:00" + - service: select.select_option + target: + entity_id: select.inverter_deye_program_1_charging + data: + option: "Grid" + - service: number.set_value + target: + entity_id: number.inverter_deye_program_1_soc + data: + value: 100 + + # Program 2: 00:00 Kontynuacja + - service: time.set_value + target: + entity_id: time.inverter_deye_program_2_time + data: + time: "00:00:00" + - service: select.select_option + target: + entity_id: select.inverter_deye_program_2_charging + data: + option: "Grid" + - service: number.set_value + target: + entity_id: number.inverter_deye_program_2_soc + data: + value: 100 + + # Program 3: 06:00 Stop + - service: time.set_value + target: + entity_id: time.inverter_deye_program_3_time + data: + time: "06:00:00" + - service: select.select_option + target: + entity_id: select.inverter_deye_program_3_charging + data: + option: "Disabled" + - service: number.set_value + target: + entity_id: number.inverter_deye_program_3_soc + data: + value: 15 + + # Program 4: 13:00 Start popołudniowy (5kW) + - service: time.set_value + target: + entity_id: time.inverter_deye_program_4_time + data: + time: "13:00:00" + - service: select.select_option + target: + entity_id: select.inverter_deye_program_4_charging + data: + option: "Grid" + - service: number.set_value + target: + entity_id: number.inverter_deye_program_4_soc + data: + value: 100 + - service: number.set_value + target: + entity_id: number.inverter_deye_program_4_power + data: + value: 5000 + - service: number.set_value + target: + entity_id: number.inverter_deye_battery_grid_charging_current + data: + value: 100 + + # Program 5: 15:00 Stop popołudniowy + - service: time.set_value + target: + entity_id: time.inverter_deye_program_5_time + data: + time: "15:00:00" + - service: select.select_option + target: + entity_id: select.inverter_deye_program_5_charging + data: + option: "Disabled" + - service: number.set_value + target: + entity_id: number.inverter_deye_program_5_soc + data: + value: 15 + + - service: select.select_option + target: + entity_id: select.inverter_deye_program_6_charging + data: + option: "Disabled" + + - service: notify.persistent_notification + data: + title: "🌧️ G12W: Bardzo pochmurnie!" + message: "Prognoza: {{ states('sensor.solcast_pv_forecast_prognoza_na_jutro') }} kWh. Ładowanie 22:01-06:00 + 13:00-15:00 (5kW)!" + +# ============================================ +# PONIEDZIAŁEK-CZWARTEK - POCHMURNIE (>=3 kWh) +# ============================================ + +- alias: "Solcast G12W - Pochmurnie (Pn-Czw)" + description: "Ładowanie 22:01-06:00 gdy >= 3 kWh" + trigger: + - platform: time + at: "21:30:00" + condition: + - condition: time + weekday: [mon, tue, wed, thu] + - condition: numeric_state + entity_id: sensor.solcast_pv_forecast_prognoza_na_jutro + above: 3 + - condition: numeric_state + entity_id: sensor.inverter_deye_battery + below: 95 + action: + - service: switch.turn_on + target: + entity_id: switch.inverter_deye_battery_grid_charging + + # Program 1: 22:01 Start + - service: time.set_value + target: + entity_id: time.inverter_deye_program_1_time + data: + time: "22:01:00" + - service: select.select_option + target: + entity_id: select.inverter_deye_program_1_charging + data: + option: "Grid" + - service: number.set_value + target: + entity_id: number.inverter_deye_program_1_soc + data: + value: 100 + + # Program 2: 00:00 Kontynuacja + - service: time.set_value + target: + entity_id: time.inverter_deye_program_2_time + data: + time: "00:00:00" + - service: select.select_option + target: + entity_id: select.inverter_deye_program_2_charging + data: + option: "Grid" + - service: number.set_value + target: + entity_id: number.inverter_deye_program_2_soc + data: + value: 100 + + # Program 3: 06:00 Stop + - service: time.set_value + target: + entity_id: time.inverter_deye_program_3_time + data: + time: "06:00:00" + - service: select.select_option + target: + entity_id: select.inverter_deye_program_3_charging + data: + option: "Disabled" + - service: number.set_value + target: + entity_id: number.inverter_deye_program_3_soc + data: + value: 15 + + # Wyłącz 4-6 + - service: select.select_option + target: + entity_id: select.inverter_deye_program_4_charging + data: + option: "Disabled" + - service: select.select_option + target: + entity_id: select.inverter_deye_program_5_charging + data: + option: "Disabled" + - service: select.select_option + target: + entity_id: select.inverter_deye_program_6_charging + data: + option: "Disabled" + + - service: notify.persistent_notification + data: + title: "⛅ G12W: Pochmurnie" + message: "Prognoza: {{ states('sensor.solcast_pv_forecast_prognoza_na_jutro') }} kWh. Ładowanie 22:01-06:00." + +# ============================================ +# PIĄTEK 21:30 - WYŁĄCZ ŁADOWANIE (sobota = tani weekend) +# ============================================ + +- alias: "Solcast G12W - Piątek wyłącz (sobota tania)" + description: "Piątek wieczór - wyłącz ładowanie bo sobota jest tania cała doba" + trigger: + - platform: time + at: "21:30:00" + condition: + - condition: time + weekday: [fri] + action: + # Wyłącz wszystkie programy + - service: select.select_option + target: + entity_id: select.inverter_deye_program_1_charging + data: + option: "Disabled" + - service: select.select_option + target: + entity_id: select.inverter_deye_program_2_charging + data: + option: "Disabled" + - service: select.select_option + target: + entity_id: select.inverter_deye_program_3_charging + data: + option: "Disabled" + - service: select.select_option + target: + entity_id: select.inverter_deye_program_4_charging + data: + option: "Disabled" + - service: select.select_option + target: + entity_id: select.inverter_deye_program_5_charging + data: + option: "Disabled" + - service: select.select_option + target: + entity_id: select.inverter_deye_program_6_charging + data: + option: "Disabled" + + - service: notify.persistent_notification + data: + title: "🎉 G12W: Weekend startuje!" + message: "Sobota i niedziela = tania energia całą dobę. Brak ładowania baterii do niedzieli 22:01." + +# ============================================ +# SOBOTA 21:30 - UTRZYMAJ WYŁĄCZONE (niedziela = tani weekend) +# ============================================ + +- alias: "Solcast G12W - Sobota bez zmian" + description: "Sobota - niedziela też jest tania, nie zmieniaj" + trigger: + - platform: time + at: "21:30:00" + condition: + - condition: time + weekday: [sat] + action: + # Upewnij się że wszystko wyłączone + - service: select.select_option + target: + entity_id: select.inverter_deye_program_1_charging + data: + option: "Disabled" + - service: select.select_option + target: + entity_id: select.inverter_deye_program_2_charging + data: + option: "Disabled" + - service: select.select_option + target: + entity_id: select.inverter_deye_program_3_charging + data: + option: "Disabled" + - service: select.select_option + target: + entity_id: select.inverter_deye_program_4_charging + data: + option: "Disabled" + - service: select.select_option + target: + entity_id: select.inverter_deye_program_5_charging + data: + option: "Disabled" + - service: select.select_option + target: + entity_id: select.inverter_deye_program_6_charging + data: + option: "Disabled" + + - service: notify.persistent_notification + data: + title: "🎉 G12W: Niedziela też tania!" + message: "Niedziela = tania energia całą dobę. Ładowanie startuje o 22:01 (na poniedziałek)." + +# ============================================ +# NIEDZIELA 21:30 - USTAW ŁADOWANIE NA PONIEDZIAŁEK +# ============================================ + +- alias: "Solcast G12W - Niedziela ładowanie na poniedziałek" + description: "Niedziela 21:30 - ustaw ładowanie 22:01-06:00 na poniedziałek" + trigger: + - platform: time + at: "21:30:00" + condition: + - condition: time + weekday: [sun] + action: + - service: switch.turn_on + target: + entity_id: switch.inverter_deye_battery_grid_charging + + # Program 1: 22:01 Start + - service: time.set_value + target: + entity_id: time.inverter_deye_program_1_time + data: + time: "22:01:00" + - service: select.select_option + target: + entity_id: select.inverter_deye_program_1_charging + data: + option: "Grid" + - service: number.set_value + target: + entity_id: number.inverter_deye_program_1_soc + data: + value: 100 + + # Program 2: 00:00 Kontynuacja (już poniedziałek) + - service: time.set_value + target: + entity_id: time.inverter_deye_program_2_time + data: + time: "00:00:00" + - service: select.select_option + target: + entity_id: select.inverter_deye_program_2_charging + data: + option: "Grid" + - service: number.set_value + target: + entity_id: number.inverter_deye_program_2_soc + data: + value: 100 + + # Program 3: 06:00 Stop + - service: time.set_value + target: + entity_id: time.inverter_deye_program_3_time + data: + time: "06:00:00" + - service: select.select_option + target: + entity_id: select.inverter_deye_program_3_charging + data: + option: "Disabled" + - service: number.set_value + target: + entity_id: number.inverter_deye_program_3_soc + data: + value: 15 + + # Wyłącz 4-6 + - service: select.select_option + target: + entity_id: select.inverter_deye_program_4_charging + data: + option: "Disabled" + - service: select.select_option + target: + entity_id: select.inverter_deye_program_5_charging + data: + option: "Disabled" + - service: select.select_option + target: + entity_id: select.inverter_deye_program_6_charging + data: + option: "Disabled" + + - service: notify.persistent_notification + data: + title: "🌙 G12W: Ładowanie na poniedziałek" + message: | + 🔋 Bateria: {{ states('sensor.inverter_deye_battery') }}% + ☀️ Prognoza pon: {{ states('sensor.solcast_pv_forecast_prognoza_na_jutro') }} kWh + ⚡ Ładowanie 22:01-06:00 + 🎯 Cel: 100% SOC na poniedziałek + +# ============================================ +# RESET PRĄDU PO 15:00 +# ============================================ + +- alias: "Solcast G12W - Reset prądu po 15:00" + description: "Przywróć prąd ładowania do 80A" + trigger: + - platform: time + at: "15:00:00" + condition: + - condition: time + weekday: [mon, tue, wed, thu, fri] + action: + - service: number.set_value + target: + entity_id: number.inverter_deye_battery_grid_charging_current + data: + value: 80 + +# ============================================ +# RAPORT PORANNY +# ============================================ + +- alias: "Solcast G12W - Raport poranny" + description: "Status o 6:05" + trigger: + - platform: time + at: "06:05:00" + action: + - service: notify.persistent_notification + data: + title: "🌅 G12W: Raport poranny" + message: | + 🔋 SOC: {{ states('sensor.inverter_deye_battery') }}% + ⚡ Naładowano: {{ states('sensor.inverter_deye_today_battery_charge') }} kWh + ☀️ Prognoza: {{ states('sensor.solcast_pv_forecast_prognoza_na_dzisiaj') }} kWh