Files
ems/docs/04-modules/modbus-registers-mim-b19n.md
Dusan Vojacek d63a85a2ea
Some checks failed
CI and deploy / migration-check (push) Failing after 7m29s
CI and deploy / deploy (push) Has been skipped
TČ Samsung přes MIM-B19N: endpoint 172.16.1.17, plný poll, registry doc
- V096: endpoint home-01 TČ z placeholderu 192.168.1.103 na reálný Waveshare
  RS485 TO POE ETH (B) 172.16.1.17:502; telemetry_heat_pump.room_temp_c.
- R__048: fn_telemetry_heat_pump_sample rozšířena (water_inlet, room_temp,
  defrost, alarm_code) — drop/comment bez parametrů dle konvence.
- poll_heat_pump: místo TODO stubu (zapisoval dummy 45/55 °C!) skutečné čtení
  MIM bloku 50-75 + defrost reg 2; gate na comm_status ready (jinak skip);
  operating_mode off/heat/cool/auto/dhw/error; power_w NULL (MIM příkon nemá).
- docs/04-modules/modbus-registers-mim-b19n.md (mapa, 9600 8E1, DIP adresa,
  troubleshooting E6xx) + heat-pump.md odkaz.

Živý stav: TCP :502 OK, Modbus bez odpovědi (čeká na protokol převodníku /
paritu EVEN / polaritu A-B — checklist v docu).

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

4.0 KiB
Raw Blame History

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/0xFF off, jinak 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)

Převodník na 172.16.1.17 odpovídá (ping, web UI :80 „RS485 TO POE ETH (B)"), port 502 zatím zavřený → ve web UI nastavit TCP Server :502 + Modbus TCP↔RTU převod a sériovku 9600 8E1. Pak ověřit FC3 čtení bloků 02 a 5075 (/tmp/probe_mim.py vzor).