prekopani SELL
This commit is contained in:
@@ -109,27 +109,28 @@ def apply_overrides(plan, overrides) -> Setpoints:
|
||||
|
||||
## Zápis do Deye (Modbus)
|
||||
|
||||
### Fyzický režim (`get_deye_mode`)
|
||||
**Princip:** držet mapování plán → Deye **jednoduché**; detail a zdůvodnění v [`operating-modes.md`](operating-modes.md) (sekce *Keep it simple*).
|
||||
|
||||
Solver rozlišuje **čtyři typy slotů**: **Charge**, **Pass-through**, **Discharge-export**, **Self-consumption**. Na úrovni Deye se mapují na tři fyzické režimy:
|
||||
### Fyzický režim (`get_deye_mode`)
|
||||
|
||||
| Fyzický režim | Podmínka z `ControlSetpoints` |
|
||||
|---|---|
|
||||
| **SELL** | `battery_w` < −500 **a** `grid_setpoint_w` < −200 (záměrné vybíjení baterie do sítě) |
|
||||
| **SELL** | `grid_setpoint_w` < 0 **a** `battery_w` < 0 **a** **\|battery_w\| ≥ \|grid_setpoint_w\|** — plán počítá s výdejem z baterie do sítě alesvěň tak velkým jako plánovaný čistý export. |
|
||||
| **CHARGE** | `battery_w` > 500 **a** `grid_setpoint_w` > 200 (nabíjení ze sítě) |
|
||||
| **PASSIVE** | vše ostatní (pass-through, self-consumption, SELF_SUSTAIN) |
|
||||
| **PASSIVE** | vše ostatní |
|
||||
|
||||
**Pass-through** (PV → síť, baterie idle) zůstává **PASSIVE** — fyzicky se realizuje nastavením reg 108 = 0 (zákaz nabíjení) + reg 145 = 1 (solar sell), takže PV přebytky tečou do sítě.
|
||||
**PASSIVE** (včetně FVE přetoku do sítě): reg. **108/109** škálované podle `battery_w` z plánu, reg. **145** = 1 (solar sell), reg. **142** = `deye_zero_export_mode`.
|
||||
|
||||
**SELF_SUSTAIN** (záložní režim po Modbus mismatch apod.) zůstává **PASSIVE** z hlediska `get_deye_mode`, ale `write_inverter_setpoints` nastaví **reg. 108 i 109 na maximum z DB** (`self_sustain_local_use=True` v `ControlSetpoints`), **reg. 142** na `asset_inverter.deye_zero_export_mode` (1 = zero export to load, 2 = zero export to CT) a **TOU SOC** na **`min_soc_percent`** (typicky 12 %), aby střídač maximalizoval využití baterie lokálně místo zákazu nabíjení při `battery_w=None`.
|
||||
|
||||
### Klíčové registry podle typu slotu
|
||||
|
||||
| Registr | Charge | Pass-through | Discharge-export | Self-consumption |
|
||||
| Registr | Charge | Pass-through / PASSIVE | SELL (battery-led) | Self-consumption |
|
||||
|---|---|---|---|---|
|
||||
| **108** (charge A) | max z DB | **0** | 0 | **0** |
|
||||
| **109** (discharge A) | max | max | max | max |
|
||||
| **108** (charge A) | škálo dle `battery_w` | škálo dle `battery_w` (>0) / **0** | **0** | **0** |
|
||||
| **109** (discharge A) | **0** | škálo dle `\|battery_w\|` (<0) / **0** | **max z DB** | škálo dle `\|battery_w\|` |
|
||||
| **142** (limit control) | `deye_zero_export_mode` | `deye_zero_export_mode` | **0** (selling first) | `deye_zero_export_mode` |
|
||||
| **143** (export cap) | max z DB | max z DB | `min(max_site, max(200, \|grid_setpoint_w\|))` | max z DB |
|
||||
| **145** (solar sell) | 1 | 1 | 1 | 1 |
|
||||
| **178** (peak shaving) | 48 | 48 | **32** | 48 |
|
||||
|
||||
|
||||
Reference in New Issue
Block a user