diff --git a/docs/IMPORTANT_SOC_FIX.md b/docs/IMPORTANT_SOC_FIX.md new file mode 100644 index 0000000..4fada66 --- /dev/null +++ b/docs/IMPORTANT_SOC_FIX.md @@ -0,0 +1,129 @@ +# WAŻNE: Automatyzacje - Ustawienia SOC + +**Data:** 2026-02-05 01:50 +**Problem:** Automatyzacje nie ustawiały docelowego SOC! + +--- + +## ❌ Co było nie tak: + +Automatyzacje ustawiały tylko: +- ✅ Kiedy ładować (22:00-06:00) +- ✅ Czy ładować (Grid/Disabled) +- ❌ **DO JAKIEGO POZIOMU ładować** - **BRAK!** + +**Rezultat:** +- Program 1 miał SOC = 15% (z poprzedniej konfiguracji) +- Bateria ładowałaby się tylko do 15% zamiast 100%! 😱 + +--- + +## ✅ Rozwiązanie: + +### Każdy program ma swój cel SOC: +``` +number.inverter_deye_program_1_soc: X% +number.inverter_deye_program_2_soc: X% +... itd +``` + +### Dodano do każdej automatyzacji: + +```yaml +- service: number.set_value + target: + entity_id: number.inverter_deye_program_1_soc + data: + value: 100 # Ładuj do 100% +``` + +--- + +## 🎯 Strategia SOC: + +### Filozofia: **Nocne ładowanie ZAWSZE do 100%** + +**Dlaczego 100%, a nie 80%?** +1. ✅ Taryfa nocna jest tania (0.35 zł/kWh) +2. ✅ Rano rozładujemy magazyn (szczyt rano 7-9) +3. ✅ Potem PV wyprodukuje i załaduje baterie +4. ✅ Więcej cykli = lepsza amortyzacja inwestycji + +**Alternatywna strategia (80%):** +- Mniej cykli = dłuższa żywotność baterii +- Ale: mniej oszczędności miesięcznie +- Dla LiFePO4: 100% cykle są OK (6000+ cykli) + +### Obecna konfiguracja: + +| Scenariusz | SOC docelowy | Uzasadnienie | +|------------|--------------|--------------| +| Bardzo pochmurnie (<3 kWh) | **100%** | Maks wykorzystanie taniej taryfy | +| Pochmurnie (3-6 kWh) | **100%** | PV nie wystarczy, ładuj pełno | +| Średnio (6-13 kWh) | **100%** | Zoptymalizuj wykorzystanie | +| Słonecznie (>13 kWh) | - | Brak ładowania z sieci | +| Weekend | **100%** | Cała doba tania! | + +--- + +## 📋 Automatyzacje zaktualizowane: + +1. ✅ **Solcast G12W - Bardzo pochmurnie (Pn-Pt)** → SOC 100% +2. ✅ **Solcast G12W - Pochmurnie (Pn-Pt)** → SOC 100% +3. ✅ **Solcast G12W - Średnie nasłonecznienie (Pn-Pt)** → SOC 100% +4. ✅ **Solcast G12W - Weekend pochmurnie** → SOC 100% +5. ⏭️ **Słonecznie/Awaryjne** - nie ładują lub nie wymagają + +--- + +## 🔧 Gdzie sprawdzić w UI: + +### Developer Tools → States: +``` +number.inverter_deye_program_1_soc: 100% +number.inverter_deye_program_2_soc: 60% (nie używane) +``` + +### Po uruchomieniu automatyzacji: +1. Sprawdź: `number.inverter_deye_program_1_soc` +2. Powinno być: **100%** ✅ + +--- + +## 🧪 Test wykonany: + +**Czwartek 01:47:** +- Uruchomiono ręcznie: "Pochmurnie (Pn-Pt)" +- Początkowy SOC: 15% ❌ +- Ręcznie ustawiono: 100% ✅ +- Automatyzacje zaktualizowane ✅ + +**Następny test:** +- Czwartek 21:30 - automatyczna decyzja +- Automatyzacja ustawi SOC 100% automatycznie + +--- + +## 💾 Backup: + +``` +/config/automations.yaml.backup_add_soc +``` + +Zawiera wersję przed dodaniem ustawień SOC. + +--- + +## ⚠️ LEKCJA: + +**Deye wymaga ustawienia 3 rzeczy dla ładowania:** +1. ✅ Czas startu/stopu (time.inverter_deye_program_X_time) +2. ✅ Tryb ładowania (select.inverter_deye_program_X_charging) +3. ✅ **CEL SOC (number.inverter_deye_program_X_soc)** ← KRYTYCZNE! + +Bez #3 → ładuje do starej wartości! + +--- + +**Status:** ✅ Naprawione na TEST +**Następny krok:** Monitoruj czy o 22:00 faktycznie ładuje do 100% diff --git a/docs/IMPORTANT_SOC_FIX.md b/docs/IMPORTANT_SOC_FIX.md new file mode 100644 index 0000000..4fada66 --- /dev/null +++ b/docs/IMPORTANT_SOC_FIX.md @@ -0,0 +1,129 @@ +# WAŻNE: Automatyzacje - Ustawienia SOC + +**Data:** 2026-02-05 01:50 +**Problem:** Automatyzacje nie ustawiały docelowego SOC! + +--- + +## ❌ Co było nie tak: + +Automatyzacje ustawiały tylko: +- ✅ Kiedy ładować (22:00-06:00) +- ✅ Czy ładować (Grid/Disabled) +- ❌ **DO JAKIEGO POZIOMU ładować** - **BRAK!** + +**Rezultat:** +- Program 1 miał SOC = 15% (z poprzedniej konfiguracji) +- Bateria ładowałaby się tylko do 15% zamiast 100%! 😱 + +--- + +## ✅ Rozwiązanie: + +### Każdy program ma swój cel SOC: +``` +number.inverter_deye_program_1_soc: X% +number.inverter_deye_program_2_soc: X% +... itd +``` + +### Dodano do każdej automatyzacji: + +```yaml +- service: number.set_value + target: + entity_id: number.inverter_deye_program_1_soc + data: + value: 100 # Ładuj do 100% +``` + +--- + +## 🎯 Strategia SOC: + +### Filozofia: **Nocne ładowanie ZAWSZE do 100%** + +**Dlaczego 100%, a nie 80%?** +1. ✅ Taryfa nocna jest tania (0.35 zł/kWh) +2. ✅ Rano rozładujemy magazyn (szczyt rano 7-9) +3. ✅ Potem PV wyprodukuje i załaduje baterie +4. ✅ Więcej cykli = lepsza amortyzacja inwestycji + +**Alternatywna strategia (80%):** +- Mniej cykli = dłuższa żywotność baterii +- Ale: mniej oszczędności miesięcznie +- Dla LiFePO4: 100% cykle są OK (6000+ cykli) + +### Obecna konfiguracja: + +| Scenariusz | SOC docelowy | Uzasadnienie | +|------------|--------------|--------------| +| Bardzo pochmurnie (<3 kWh) | **100%** | Maks wykorzystanie taniej taryfy | +| Pochmurnie (3-6 kWh) | **100%** | PV nie wystarczy, ładuj pełno | +| Średnio (6-13 kWh) | **100%** | Zoptymalizuj wykorzystanie | +| Słonecznie (>13 kWh) | - | Brak ładowania z sieci | +| Weekend | **100%** | Cała doba tania! | + +--- + +## 📋 Automatyzacje zaktualizowane: + +1. ✅ **Solcast G12W - Bardzo pochmurnie (Pn-Pt)** → SOC 100% +2. ✅ **Solcast G12W - Pochmurnie (Pn-Pt)** → SOC 100% +3. ✅ **Solcast G12W - Średnie nasłonecznienie (Pn-Pt)** → SOC 100% +4. ✅ **Solcast G12W - Weekend pochmurnie** → SOC 100% +5. ⏭️ **Słonecznie/Awaryjne** - nie ładują lub nie wymagają + +--- + +## 🔧 Gdzie sprawdzić w UI: + +### Developer Tools → States: +``` +number.inverter_deye_program_1_soc: 100% +number.inverter_deye_program_2_soc: 60% (nie używane) +``` + +### Po uruchomieniu automatyzacji: +1. Sprawdź: `number.inverter_deye_program_1_soc` +2. Powinno być: **100%** ✅ + +--- + +## 🧪 Test wykonany: + +**Czwartek 01:47:** +- Uruchomiono ręcznie: "Pochmurnie (Pn-Pt)" +- Początkowy SOC: 15% ❌ +- Ręcznie ustawiono: 100% ✅ +- Automatyzacje zaktualizowane ✅ + +**Następny test:** +- Czwartek 21:30 - automatyczna decyzja +- Automatyzacja ustawi SOC 100% automatycznie + +--- + +## 💾 Backup: + +``` +/config/automations.yaml.backup_add_soc +``` + +Zawiera wersję przed dodaniem ustawień SOC. + +--- + +## ⚠️ LEKCJA: + +**Deye wymaga ustawienia 3 rzeczy dla ładowania:** +1. ✅ Czas startu/stopu (time.inverter_deye_program_X_time) +2. ✅ Tryb ładowania (select.inverter_deye_program_X_charging) +3. ✅ **CEL SOC (number.inverter_deye_program_X_soc)** ← KRYTYCZNE! + +Bez #3 → ładuje do starej wartości! + +--- + +**Status:** ✅ Naprawione na TEST +**Następny krok:** Monitoruj czy o 22:00 faktycznie ładuje do 100% diff --git a/ha-configs/solcast_automations_g12w.yaml b/ha-configs/solcast_automations_g12w.yaml index a88d469..28cb71b 100644 --- a/ha-configs/solcast_automations_g12w.yaml +++ b/ha-configs/solcast_automations_g12w.yaml @@ -52,6 +52,13 @@ data: time: "22:00:00" + # Ustaw cel SOC na 100% + - service: number.set_value + target: + entity_id: number.inverter_deye_program_1_soc + data: + value: 100 + # Program 2: Start 13:00 (okno popołudniowe - doładowanie) - service: select.select_option target: