Files
ems/docs/04-modules/heat-pump.md
Dusan Vojacek 8289e32a03
Some checks failed
CI and deploy / deploy (push) Has been cancelled
CI and deploy / migration-check (push) Has been cancelled
docs: heat-pump.md odkaz na MIM-B19N registry (dopatch k d63a85a)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-12 18:24:36 +02:00

4.0 KiB
Raw Blame History

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 (říjenbřezen):

  • Přes poledne (11:0014: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 12 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 — MIM-B19N(T)

Kompletní mapa, sériové parametry (9600 8E1!), adresace IU bloků a stav zapojení: docs/04-modules/modbus-registers-mim-b19n.md. Telemetrie: poll_heat_pump čte blok 5075 (voda in/out, TUV zásobník, prostorová teplota, chybový kód) + modulový defrost; příkon MIM neměří (NULL do doby elektroměru). Endpoint: Waveshare 172.16.1.17:502 (V096).

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 46 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