Files
ems/docs/04-modules/modbus-registers-mim-b19n.md
Dusan Vojacek e2688bb899
Some checks failed
CI and deploy / migration-check (push) Successful in 18s
CI and deploy / deploy (push) Has been cancelled
TČ ŽIVÉ: MIM adresa 5 (V101), fix dekódování defrost (0xFF = off)
Rozchozeno po třech vrstvách: protokol převodníku Modbus TCP to RTU
(byl None), parita EVEN, adresa MIM 5 (seed měl 1). První živé čtení:
EHS typ 115, comm ready, mode heat, prostor 20 °C, voda 54.4 °C, TUV
zásobník 46.6 °C, bez chyb. Defrost reg: 0 i 0xFF znamená OFF (manuál),
bool() by 255 četl jako zapnuto.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-12 21:40:15 +02:00

86 lines
4.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Samsung MIM-B19N(T) — Modbus registry (TČ EHS, home-01)
Modbus interface modul Samsungu (DVM/EHS). EMS k němu mluví přes Waveshare
**RS485 TO POE ETH (B)** na **172.16.1.17:502** (V096; dříve placeholder
192.168.1.103). Zdroj: instalační manuál MIM-B19N(T) (DB68-07538A-03).
## Sériová linka a převodník — POVINNÉ nastavení
| Parametr | Hodnota |
|---|---|
| Baud rate | **9600** |
| Data bits | 8 |
| Parita | **EVEN** (nejčastější chyba — Waveshare default je None!) |
| Stop bit | 1 |
| Protokol | Modbus RTU, MIM = **slave** |
| Adresa MIM | DIP SW4/SW5 + rotary SW1, rozsah 1247 (čte se jen při zapnutí!); EMS `unit_id` = tato adresa (home-01: 1) |
| Waveshare work mode | TCP Server, local port **502**, protokol **Modbus TCP ↔ RTU** (jinak EMS nespojí — port 502 zavřený) |
| FC podporované | 0x03, 0x04 čtení; 0x06, 0x10 zápis |
| Mezera mezi dotazy | ≥ 10 ms po poslední odpovědi |
Polarita A/B: při prohození MIM neodpovídá vůbec (timeout na FC3), Y-GRN LED
na MIM nebliká k BMS. 7segment na MIM: `E6`+`16` střídavě = ztracená
komunikace, `E6`+`04` = tracking nedoběhl, `E6`+`34` = chybná adresa.
## Adresace registrů
Vnitřní jednotka IU (adresa 047, nastavená na jednotce) má blok
**base = 50 + IU×50**. home-01 EHS = IU 0 → blok 5099. Hodnoty teplot
**°C×10, signed**, big endian. Po startu MIM jsou všechny registry 0, dokud
nedoběhne tracking (~minuty).
### Modulové registry (PDU 03)
| Reg | Význam | R/W |
|---|---|---|
| 0 | Stav modulu: b0 address error, b1 comm error R1/R2, b2 tracking error | R |
| 1 | Chybový kód venkovní jednotky (0 = OK, 100999) | R |
| 2 | Defrost (**0 i 0xFF = off**, jiné hodnoty = on) | R |
| 3 | Bzučák (0 on / 1 off) | W |
### Blok vnitřní jednotky (base+offset; EHS sloupec)
| Off | Význam | R/W | Poznámka |
|---|---|---|---|
| +0 | Comm status: b0 exist, b1 type OK, b2 ready, b3 comm error | R | **gate pollu: (v&7)==7** |
| +1 | Typ jednotky (lower byte): 110 HE, 115117 EHS, 120 HT | R | |
| +2 | Zapnuto/vypnuto (0/1) | R/W | |
| +3 | Režim: 0 auto, 1 cool, 4 heat | R/W | |
| +8 | Set teplota ×10 (cool 1830, heat 1630) | R/W | |
| +9 | Prostorová teplota ×10 | R | → `room_temp_c` |
| +13 | Chybový kód jednotky (0 OK, 100999) | R | → `alarm_code` |
| +14 | Blokace dálkového ovládání (0x0000 / 0x6363) | R/W | |
| +15 | Teplota vody vstup ×10 | R | → `water_inlet_temp_c` |
| +16 | Teplota vody výstup ×10 | R | → `water_outlet_temp_c` |
| +18 | Set teplota výstupní vody ×10 (EHS heat 1565 °C) | R/W | budoucí řízení |
| +22 | TUV zapnuto/vypnuto | R/W | |
| +23 | TUV režim: 0 Eco, 1 Standard, 2 Power, 3 Force (jen EHS) | R/W | |
| +24 | TUV set teplota ×10 (EHS 3070 °C) | R/W | budoucí řízení |
| +25 | TUV teplota zásobníku ×10 | R | → `tuv_tank_temp_c` |
| +28 | Tichý režim (0/1) | R/W | |
| +29 | Away (0/1) | R/W | |
## Telemetrie EMS (poll 60 s, `poll_heat_pump`)
Jeden FC3 blok base+0..+25 (26 registrů) + modulový reg 2 (defrost) →
`ems.fn_telemetry_heat_pump_sample`. `operating_mode`: `off` / `heat` /
`cool` / `auto` / `dhw` / `heat+dhw` / `error` / (`offline` se nezapisuje —
vzorek se přeskočí, jednotka bez trackingu hlásí samé nuly).
**Příkon (`power_w`) MIM neposkytuje** — zůstává NULL, dokud nebude
elektroměr (Shelly EM / Chint na RS485). Bazální spotřeba (CLAUDE.md §15)
do té doby TČ neodečítá.
**Zápisy (on/off, set teploty, TUV)**: zatím neimplementováno; půjdou přes
control exporter + `modbus_command` journal jako u Deye (FC 0x06/0x10).
Pozn. manuálu: každý write MIM přepošle jednotce, i když hodnota nemění —
zapisovat jen při skutečné změně.
## Stav zapojení (2026-06-12 večer — ŽIVÉ)
Rozchozeno: převodník TCP Server :502, protokol **Modbus TCP to RTU**
(default None = mrtvo!), 9600 8E1, adresa MIM **5**. První čtení: EHS typ
115, comm ready 0b111, mode heat, prostor 20.0 °C, voda 54.4 °C, TUV
46.6 °C, bez chyb. Časté zádrhely při oživování: protokol None, parita
None místo EVEN, adresa DIP (čte se jen při startu).