Newer
Older
homeassistant-infra / docs / DEYE_BATTERY_CONTROL_GUIDE.md
# 🔋 Przewodnik sterowania magazynem energii Deye z Home Assistant

## 🎯 Cel
Ten przewodnik pokazuje jak kontrolować baterię i tryby pracy inwertera Deye SUN-12K-SG04LP3 z poziomu Home Assistant.

---

## 📊 Kluczowe encje sterujące

### 🔀 Tryby pracy (Selects)

#### **1. Work Mode - Główny tryb pracy**
```yaml
Entity: select.inverter_deye_work_mode
Opcje:
  - Export First          # Eksportuj nadwyżkę do sieci
  - Zero Export To Load   # Nie eksportuj, oddawaj do obciążenia (OBECNIE)
  - Zero Export To CT     # Nie eksportuj, wykrywaj przez CT
```
**💡 Zastosowanie:** Ustaw `Zero Export To Load` aby nie oddawać energii do sieci

---

#### **2. Energy Pattern - Priorytet energii**
```yaml
Entity: select.inverter_deye_energy_pattern
Opcje:
  - Battery First  # Najpierw bateria, potem obciążenie
  - Load First     # Najpierw obciążenie, potem bateria (OBECNIE)
```
**💡 Zastosowanie:** `Load First` = PV zasila dom, nadwyżka ładuje baterię

---

#### **3. Time of Use - Harmonogramy czasowe**
```yaml
Entity: select.inverter_deye_time_of_use
Opcje:
  - Disabled    # Wyłączone
  - Week        # Cały tydzień (OBECNIE)
  - Weekdays    # Poniedziałek-Piątek
  - Weekend     # Sobota-Niedziela
  - Monday/Tuesday/Wednesday... # Konkretne dni
```
**💡 Zastosowanie:** Włącz `Week` aby używać harmonogramów ładowania

---

### 🔘 Przełączniki (Switches)

#### **1. Battery Grid Charging - Ładowanie z sieci**
```yaml
Entity: switch.inverter_deye_battery_grid_charging
Stan: ON (włączone)
```
**💡 Zastosowanie:** Włącz aby ładować baterię z sieci w tańszych taryfach

---

#### **2. Battery Generator Charging - Ładowanie z generatora**
```yaml
Entity: switch.inverter_deye_battery_generator_charging
Stan: OFF (wyłączone)
```

---

#### **3. Grid Peak Shaving - Ograniczanie szczytów**
```yaml
Entity: switch.inverter_deye_grid_peak_shaving
Stan: OFF (wyłączone)
```
**💡 Zastosowanie:** Włącz aby ograniczać pobór z sieci w szczycie

---

### ⏰ Harmonogramy ładowania (Programs)

Możesz ustawić **6 programów** ładowania baterii:

```yaml
Program 1: 01:00:00 - Brak ładowania
Program 2: 04:00:00 - Grid (Ładuj z sieci)
Program 3: 06:00:00 - Wyłączony
Program 4: 13:00:00 - Grid (Ładuj z sieci)
Program 5: 15:00:00 - Wyłączony
Program 6: 21:00:00 - Wyłączony
```

#### Encje czasowe:
- `time.inverter_deye_program_1_time` → `time.inverter_deye_program_6_time`

#### Encje trybu ładowania:
- `select.inverter_deye_program_1_charging` → `select.inverter_deye_program_6_charging`
  - Opcje: `Disabled`, `Grid`, `Generator`, `Both`

---

### 🔢 Limity mocy i SOC (Numbers)

#### **Prądy ładowania/rozładowania**
```yaml
number.inverter_deye_battery_max_charging_current: 100 A
number.inverter_deye_battery_max_discharging_current: 100 A
```
**💡 Zastosowanie:** Ogranicz prądy aby chronić baterię

---

#### **Limity SOC (State of Charge)**
```yaml
number.inverter_deye_battery_shutdown_soc: 10%   # Wyłącz przy tym SOC
number.inverter_deye_battery_low_soc: 15%        # Ostrzeżenie
number.inverter_deye_battery_restart_soc: 40%    # Restart po wyłączeniu
```
**💡 Zastosowanie:** Chroń baterię przed głębokim rozładowaniem

---

#### **Napięcia**
```yaml
number.inverter_deye_battery_shutdown_voltage: 46 V
number.inverter_deye_battery_low_voltage: 47.5 V
number.inverter_deye_battery_restart_voltage: 52 V
number.inverter_deye_battery_float: 55.2 V
number.inverter_deye_battery_absorption: 57.6 V
```

---

## 🎬 Przykładowe scenariusze

### Scenariusz 1: Ładowanie w nocy z tańszej taryfy

**Cel:** Ładuj baterię między 1:00-6:00 kiedy prąd jest tańszy

```yaml
# W Home Assistant → Settings → Automations & Scenes

automation:
  - alias: "Deye - Ładowanie w taniej taryfie"
    trigger:
      - platform: time
        at: "01:00:00"
    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"
  
  - alias: "Deye - Koniec ładowania"
    trigger:
      - platform: time
        at: "06:00:00"
    action:
      - service: switch.turn_off
        target:
          entity_id: switch.inverter_deye_battery_grid_charging
```

---

### Scenariusz 2: Zero eksport do sieci

**Cel:** Cała energia zostaje w domu, nic nie idzie do sieci

```yaml
# Ustaw poprzez Developer Tools → Services

service: select.select_option
target:
  entity_id: select.inverter_deye_work_mode
data:
  option: "Zero Export To Load"
```

---

### Scenariusz 3: Priorytet baterii w szczycie

**Cel:** Wieczorem (17:00-22:00) używaj baterii zamiast sieci

```yaml
automation:
  - alias: "Deye - Bateria wieczorem"
    trigger:
      - platform: time
        at: "17:00:00"
    action:
      - service: select.select_option
        target:
          entity_id: select.inverter_deye_energy_pattern
        data:
          option: "Battery First"
  
  - alias: "Deye - Przywróć Load First"
    trigger:
      - platform: time
        at: "22:00:00"
    action:
      - service: select.select_option
        target:
          entity_id: select.inverter_deye_energy_pattern
        data:
          option: "Load First"
```

---

### Scenariusz 4: Ochrona przed głębokim rozładowaniem

**Cel:** Zatrzymaj rozładowanie przy 20% SOC

```yaml
automation:
  - alias: "Deye - Ochrona baterii"
    trigger:
      - platform: numeric_state
        entity_id: sensor.inverter_deye_battery_soc
        below: 20
    action:
      - service: number.set_value
        target:
          entity_id: number.inverter_deye_battery_shutdown_soc
        data:
          value: 20
      - service: notify.notify
        data:
          message: "⚠️ Bateria poniżej 20% - zatrzymano rozładowanie"
```

---

## 🖥️ Dashboard w Home Assistant

### Karty Lovelace do dodania:

```yaml
# configuration.yaml lub w UI Lovelace

type: entities
title: 🔋 Sterowanie Baterią Deye
entities:
  # Główne przełączniki
  - entity: switch.inverter_deye_battery_grid_charging
    name: Ładowanie z sieci
  - entity: switch.inverter_deye_grid_peak_shaving
    name: Peak Shaving
  
  # Tryby pracy
  - entity: select.inverter_deye_work_mode
    name: Tryb pracy
  - entity: select.inverter_deye_energy_pattern
    name: Priorytet energii
  - entity: select.inverter_deye_time_of_use
    name: Harmonogramy
  
  # Limity
  - entity: number.inverter_deye_battery_max_charging_current
    name: Max prąd ładowania
  - entity: number.inverter_deye_battery_max_discharging_current
    name: Max prąd rozładowania
  - entity: number.inverter_deye_battery_shutdown_soc
    name: Shutdown SOC
```

---

## 🛠️ Jak ustawić w Home Assistant

### Metoda 1: UI (Graficzny interfejs)

1. Otwórz **http://192.168.50.242:8123** (PROD)
2. Przejdź do: **Developer Tools** → **Services**
3. Wybierz usługę:
   - `select.select_option` - dla Select entities
   - `switch.turn_on/turn_off` - dla Switch entities
   - `number.set_value` - dla Number entities
   - `time.set_value` - dla Time entities
4. Wybierz entity i wartość
5. Kliknij **CALL SERVICE**

---

### Metoda 2: Automatyzacje

1. **Settings** → **Automations & Scenes** → **Create Automation**
2. Ustaw trigger (czas, stan sensora, etc.)
3. Dodaj action używając service calls
4. Zapisz i włącz

---

### Metoda 3: Node-RED (jeśli zainstalowany)

Stwórz flow z logika biznesową dla inteligentnego zarządzania baterią.

---

## 📈 Monitorowanie

### Kluczowe sensory do obserwacji:

```yaml
sensor.inverter_deye_battery_soc              # Stan naładowania (%)
sensor.inverter_deye_battery_power            # Moc baterii (W)
sensor.inverter_deye_battery_voltage          # Napięcie (V)
sensor.inverter_deye_battery_current          # Prąd (A)
sensor.inverter_deye_battery_temperature      # Temperatura (°C)
sensor.inverter_deye_grid_power               # Moc z sieci (W)
sensor.inverter_deye_load_power               # Moc obciążenia (W)
sensor.inverter_deye_pv_power                 # Moc z PV (W)
```

---

## ⚠️ Uwagi i ostrzeżenia

1. **Nie zmieniaj bez przemyślenia:**
   - `Battery Voltage` settings (shutdown, absorption, float)
   - `Battery BMS Type` (musi być zgodny z Twoim BMS)
   - `Battery Capacity` (musi odpowiadać rzeczywistej)

2. **Bezpieczeństwo:**
   - Nie ustawiaj `shutdown_soc` poniżej 10%
   - Nie przekraczaj maksymalnych prądów baterii
   - Monitoruj temperaturę baterii

3. **Taryfy:**
   - Dostosuj harmonogramy do swoich taryf energii
   - G12: tania taryfa 13:00-15:00 i 01:00-07:00
   - G12w: tania taryfa całe weekendy

4. **Restart po zmianach:**
   - Niektóre ustawienia wymagają restartu inwertera
   - Większość działa od razu

---

## 🚀 Quick Start - Typowa konfiguracja

```yaml
# Dla typowego domu z fotowoltaiką i taryfą G12

1. Work Mode: "Zero Export To Load"
2. Energy Pattern: "Load First"
3. Battery Grid Charging: ON
4. Time of Use: "Week"

Programy ładowania (tania taryfa):
- Program 1: 01:00 - Grid (ładuj)
- Program 2: 07:00 - Disabled (koniec)
- Program 3: 13:00 - Grid (ładuj)
- Program 4: 15:00 - Disabled (koniec)

SOC limits:
- Shutdown: 15%
- Low: 20%
- Restart: 40%

Prądy:
- Max charging: 80A (bezpieczny limit)
- Max discharging: 80A
```

---

## 📚 Przydatne linki

- **Dokumentacja Solarman:** https://github.com/davidrapan/ha-solarman
- **HACS:** https://hacs.xyz/
- **Home Assistant Automations:** https://www.home-assistant.io/docs/automation/

---

## 🆘 Pomoc

Jeśli coś nie działa:

1. Sprawdź logi: **Settings** → **System** → **Logs**
2. Zweryfikuj połączenie z inverterem (192.168.50.196)
3. Sprawdź czy integracja Solarman jest włączona
4. Zrestartuj Home Assistant jeśli coś nie odpowiada

---

*Wygenerowano: 2026-02-05*
*Wersja integracji: Solarman 25.08.16*
*Inwenter: Deye SUN-12K-SG04LP3*