108 lines
3.8 KiB
Markdown
108 lines
3.8 KiB
Markdown
# Modul: Tepelné čerpadlo (Heat Pump)
|
||
|
||
## Zařízení
|
||
|
||
**Samsung tepelné čerpadlo** s Modbus modulem pro dálkové řízení.
|
||
Komunikace: Modbus RTU → Waveshare WS-ETH → Modbus TCP.
|
||
Loxone šablona k dispozici (reference pro Modbus registry).
|
||
|
||
## Co systém řídí
|
||
|
||
- Povolení/zakázání provozu (Modbus příkaz)
|
||
- Požadovaná teplota TUV zásobníku (Modbus setpoint)
|
||
- Plánování okna provozu na základě COP a ceny elektřiny
|
||
|
||
## Co systém nečte (z Loxone šablony nebo Modbus registrů)
|
||
|
||
- Venkovní teplota čerpadla (`outdoor_temp_c`)
|
||
- Teplota zásobníku TUV (`tuv_tank_temp_c`)
|
||
- Příkon (`power_w`)
|
||
- Provozní režim (`operating_mode`)
|
||
- Alarm kód (`alarm_code`)
|
||
- Stav odmrazování (`defrost_active`)
|
||
|
||
---
|
||
|
||
## Logika řízení
|
||
|
||
### Prioritní pravidla (v pořadí)
|
||
|
||
1. **Override blokování** (`site_override.override_type = 'block_heat_pump'`) → TČ se nespouští
|
||
2. **Nouzový ohřev** – teplota zásobníku pod `tuv_min_temp_c` → spustit bez ohledu na cenu
|
||
3. **Zásobník plný** – teplota nad `tuv_max_temp_c` → neohřívat
|
||
4. **Ekonomické rozhodnutí** – spustit pokud cena tepla ≤ prahová hodnota
|
||
|
||
Logika je implementována v PostgreSQL funkci `ems.fn_heat_pump_should_run()`.
|
||
|
||
### Výpočet COP
|
||
|
||
COP závisí primárně na **venkovní teplotě**:
|
||
- Vyšší venkovní teplota = lepší COP = levnější teplo
|
||
- V chladných měsících je přes poledne venkovní teplota nejvyšší → optimální čas pro ohřev TUV
|
||
|
||
```
|
||
COP(t_venkovní) ≈ COP_rated + (t_venkovní - t_reference) × 0.10
|
||
```
|
||
|
||
Funkce: `ems.fn_cop_estimate(heat_pump_id, outdoor_temp_c)`
|
||
|
||
Cena tepla = cena elektřiny / COP → funkce `ems.fn_heat_pump_cost_per_kwh_heat()`
|
||
|
||
### Denní provozní okno
|
||
|
||
Typický scénář v chladných měsících (říjen–březen):
|
||
- Přes poledne (11:00–14:00) je venkovní teplota nejvyšší → COP nejlepší
|
||
- Pokud je zároveň spot cena nízká nebo FVE přebytek → ideální okno
|
||
- TČ potřebuje cca 1–2 hodiny denně pro nahrání TUV zásobníku (závisí na objemu a teplotním rozdílu)
|
||
|
||
Plánovací horizont: TČ se plánuje v rámci standardního 15min plánování stejně jako ostatní flexibilní spotřebiče.
|
||
|
||
---
|
||
|
||
## Omezení kompresoru
|
||
|
||
| Parametr | Hodnota | Důvod |
|
||
|---|---|---|
|
||
| `min_run_duration_min` | 30 min | Ochrana před krátkými cykly |
|
||
| `min_stop_duration_min` | 15 min | Vyrovnání tlaku před restartem |
|
||
|
||
Plánování musí respektovat tato omezení – nevytvářet plán s kratšími ON/OFF cykly.
|
||
|
||
---
|
||
|
||
## Modbus registry (doplnit z dokumentace Samsung)
|
||
|
||
> Konkrétní registry doplnit z Loxone šablony a Samsung Modbus dokumentace.
|
||
|
||
| Registr | Typ | Popis |
|
||
|---|---|---|
|
||
| TBD | Read | Venkovní teplota |
|
||
| TBD | Read | Teplota zásobníku TUV |
|
||
| TBD | Read | Příkon |
|
||
| TBD | Read | Provozní režim |
|
||
| TBD | Read | Alarm kód |
|
||
| TBD | Write | Povolení provozu (on/off) |
|
||
| TBD | Write | Požadovaná teplota TUV |
|
||
|
||
---
|
||
|
||
## Integrace s Loxone
|
||
|
||
Alternativní cesta (pokud Modbus přímý přístup není z nějakého důvodu vhodný):
|
||
- Loxone čte Modbus a vystavuje stav přes Virtual Outputs
|
||
- EMS posílá setpointy do Loxone přes HTTP Virtual Inputs
|
||
- Loxone přepisuje Modbus registry
|
||
|
||
Pro začátek doporučujeme **přímý Modbus TCP** (přes Waveshare) bez Loxone prostředníka pro řídící příkazy, Loxone nechat jako fallback.
|
||
|
||
---
|
||
|
||
## Otevřené body
|
||
|
||
- [ ] Doplnit konkrétní Modbus registry ze Samsung dokumentace / Loxone šablony
|
||
- [ ] Doplnit model Samsung a jmenovitý výkon do seed dat
|
||
- [ ] Ověřit `min_run_duration_min` a `min_stop_duration_min` z dokumentace
|
||
- [ ] Kalibrovat COP model na reálná historická data po prvních 4–6 týdnech provozu
|
||
- [ ] Rozhodnout: přímý Modbus TCP nebo přes Loxone jako prostředník
|
||
- [ ] Doplnit objem zásobníku TUV pro výpočet doby ohřevu
|