TapHome

Samsung MIM-B19N (IU)

Modbus RTU
Submitted by
Last updated: 03. 2026

Requires external gateway

Samsung MIM-B19N

The Samsung MIM-B19N is a Modbus RTU gateway that connects Samsung air conditioning indoor units – cassettes, wall units and 360 cassettes – to TapHome via RS-485. This template is specifically designed for indoor AC units (IU), not heat pumps. For Samsung EHS/HE/HT heat pump units, use the Samsung MIM-B19N (EHS) template. For gateway-level outdoor unit monitoring, see the Samsung MIM-B19N (GW) template.

The gateway translates between the Samsung R1/R2 internal bus protocol and standard Modbus RTU, exposing room temperature control, fan speed, operation modes, airflow direction and the Wind-Free function as holding registers. Each MIM-B19N can manage up to 48 indoor units. The gateway address is set using a combination of DIP switches and a rotary switch (range 1–247).

Hardware connection

Specifications
  • Power supply: DC 12 V from CN12 on outdoor unit main board
  • Operating temperature: -10 °C to +50 °C
  • Protocol: Modbus RTU Slave, RS-485
  • Baud rate: 9600, even parity, 1 stop bit, 8 data bits
  • Max units: 48 indoor units per gateway
  • Max bus length: 1000 m (RS-485)
RS-485 wiring

Connect the MIM-B19N to TapHome using a 2-wire RS-485 connection:

  • A (R1) –> A+/D+ on TapHome RS-485
  • B (R2) –> B-/D- on TapHome RS-485

The MIM-B19N draws power from the outdoor unit via the DC 12 V connector (CN12). The Samsung internal communication uses the F1-F2 bus to reach indoor and outdoor units.

Important – RS-485 polarity

Match the RS-485 polarity between the MIM-B19N and TapHome. Swapped A/B wires will prevent communication. The RED LED on the module blinks when Modbus communication is active – if it stays off, check the wiring.

Wiring topology
1
2
3
4
5
Outdoor unit ---- F1/F2 ---- MIM-B19N ---- RS-485 (A/B) ---- TapHome Core
  |                              |
  +-- 12V/GND (CN12) -----------+
  |
  +-- F1/F2 ---- Indoor units (cassette, wall, 360)

Configuration

DIP and rotary switch addressing

The MIM-B19N address is calculated as the sum of DIP switch values plus the rotary switch value.

SwitchLocationON value
SW4-1DIP128
SW4-2DIP64
SW5-1DIP32
SW5-2DIP16
SW1Rotary0–15 (hex)

Recommended: Address 1 for a single gateway (all DIP switches OFF, rotary switch set to 1). Address 0 is invalid. Valid range is 1–247.

Indoor unit prerequisite

Before the MIM-B19N can control indoor units, the “Use of central control” (SEG5) setting on each indoor unit must be set to “Use (1)”. Without this setting, the gateway can read status but cannot send control commands.

Multi-unit addressing (IU variable)

For systems with multiple indoor units, register addresses shift by 50 per unit using the IU variable formula: base = 50 + IU * 50.

Indoor unitIU valueBase registerPower register
Unit 0 (first)050H:52
Unit 11100H:102
Unit 22150H:152

The TapHome template is configured for the first indoor unit (IU=0). For additional units, duplicate the template and adjust the IU variable value in the module scripts.

Device capabilities

Room temperature control
  • Room Temperature (H:base+9 read / H:base+8 write) – current room temperature and setpoint control with °C x 10 conversion. Setpoint ranges: Cooling 18–30 °C, Heating 16–30 °C
Unit power and operation mode
  • Power ON/OFF (H:base+2) – turns the indoor unit on or off
  • Operation Mode (H:base+3) – selects Auto, Cool, Dry, Fan, or Heat mode
  • Fan Speed (H:base+4) – selects Auto, Low, Medium, or High
Airflow control
  • Vertical Air Flow (H:base+5) – enables or disables the vertical vane swing
  • 360 Air Flow Direction (H:base+31) – controls the 360 cassette vane position: Off, Spot, Mid, Wide, Swing, or Individual Control. Only applicable to Samsung 360 cassette units
Wind-Free function
  • Wind Free (H:base+30) – enables Samsung Wind-Free cooling mode, which disperses air through micro-holes instead of direct airflow. Values: 0=Off, 9=WindFree. Only available on Wind-Free compatible indoor units
Service diagnostics

The module exposes three service attributes for system monitoring:

  • Communication Status (H:base+0) – bitfield showing: Exist, Type OK, Ready, Communication error
  • Remote Control Restriction (H:base+14) – shows whether the remote controller is locked
  • Wind-Free Function Status (H:base+30) – shows whether Wind-Free is active (None, WindFree, Ignored)

One service action is available:

  • Clear Filter Alarm (H:base+6) – resets the filter cleaning reminder

The module ReadScript monitors the filter alarm register (H:base+6) and the indoor unit error code (H:base+13), reporting them as warnings and errors in TapHome.

Additional capabilities

The MIM-B19N register map also exposes per-unit registers for discharge temperature (H:base+10), quiet mode control (H:base+28), away function (H:base+29), indoor unit error codes (H:base+13), and remote control restriction write (H:base+14). These can be added in a future template update.

This template covers air conditioning indoor units only. If you have Samsung EHS, HE, or HT heat pump units connected to the same MIM-B19N gateway, use the separate Samsung MIM-B19N (EHS) template for those units.

LED and 7-segment indicators

IndicatorFunction
Y-GRN LEDBlinks during MIM-B19N to outdoor unit communication
RED LEDBlinks during Modbus RS-485 communication with BMS/TapHome

7-segment error codes:

DisplayCondition
E6 / 16All indoor/outdoor communication stopped for >3 minutes
E6 / 15Specific indoor unit communication stopped for >3 minutes
E6 / 04Tracking not completed within 10 minutes after power on
E6 / 54EEPROM error
E6 / 34Address error

Troubleshooting

No Modbus communication (RED LED not blinking)
  1. Check RS-485 cables:
    • A wire correctly connected to A+/D+ on TapHome
    • B wire correctly connected to B-/D- on TapHome
    • Verify polarity is not swapped
  2. Verify the gateway address using DIP and rotary switches
  3. Confirm TapHome is set to: 9600 baud, even parity, 1 stop bit, 8 data bits
  4. Check that the RS-485 bus length does not exceed 1000 m
Unit not tracked (Communication Status bits 0–2 not all = 1)
  1. Verify indoor unit is powered on and connected to the Samsung F1/F2 bus
  2. Check that “Use of central control” (SEG5) is set to “Use (1)” on the indoor unit
  3. Wait up to 10 minutes for tracking to complete after power-on
  4. If 7-segment shows E6/04, reset the MIM-B19N module
Control commands not taking effect
  1. Confirm Communication Status register (H:base+0) shows bits 0–2 all set to 1 (Exist + Type OK + Ready)
  2. Check that Remote Control Restriction is not active (H:base+14 = 0x0000)
  3. Verify the indoor unit IU address is within range (0–47)
  4. Allow at least 10 ms between consecutive Modbus read/write commands
360 Air Flow Direction not responding
  1. Confirm the indoor unit is a Samsung 360 cassette model – this register is only available on 360 cassettes
  2. Verify the multi-value values match the installed unit’s capabilities
  3. Check the template is using the correct IU variable for the target unit

Available devices

Samsung MIM-B19N Module
Service Attributes
Communication Statusreads H:base+0 (UInt16); bitfield: b0=Exist, b1=Type OK, b2=Ready, b3=Communication error
Remote Control Restrictionreads H:base+14 (UInt16); 0x0000=No restriction, other=Restriction active
Wind-Free Function Statusreads H:base+30 (UInt16); 0=None, 9=WindFree, other=Ignored
Service Actions
Clear Filter Alarmwrites H:base+6 (UInt16); 1=Clear filter alarm

Samsung Indoor Unit (IU) MIM B19N

Read (module)
var base := 50 + IU*50;

if(MODBUSR(H, base +6, Uint16) = 1, ADDWARNING("Filter-cleaning reminder"));

var err := MODBUSR(H, base +13, Uint16);
IF(err!=0, ADDERROR(err, "Integrated indoor unit error"));
Service Attributes
Stav komunikácie
var base := 50 + IU*50;

var com := MODBUSR(H, base + 0, Uint16);
var b0 := IF(getbit(com, 0) = 1, "Existuje ", "");
var b1 := IF(getbit(com, 1) = 1, "- Typ OK ", "");
var b2 := IF(getbit(com, 2) = 1, "- Pripravené ", "");
var b3 := IF(getbit(com, 3) = 1, "Chyba komunikácie ", "");
RETURN(b0 + b1 + b2 + b3);
Remote Control Restriction
var base := 50 + IU*50;

var r := MODBUSR(H, base +14, Uint16);
IF(r = 0, "No restriction", "Restriction " + r);
Wind-free function
var base := 50 + IU*50;

SWITCH(MODBUSR(H, base + 30, Uint16), 0, "None", 9, "Windfree", "Ignored");
Service Actions
Clear Filter Alarm
var base := 50 + IU*50;

modbusw(h, base + 6, Uint16, 1);
360 Air Flow Direction Multi-value Switch

Controls the 360 cassette vane position — only applicable to Samsung 360 cassette units

Register: H:base+31 Int16 mapped
Values / States: Spot · Mid · Wide · Swing · Individual Control

360 Air Flow Direction

Read switch state
var base := 50 + IU*50;

var reg := MODBUSR(H, base + 31, Int16);
SWITCH(reg, 106, 1, 85, 2, 64, 3, 15, 4, 5);
Write switch state
var base := 50 + IU*50;

SWITCH(Mu,
4,MODBUSW(H, base +31, Uint16, 15),
                           
3,MODBUSW(H, base +31, Uint16, 64),
                           
2,MODBUSW(H, base +31, Uint16, 85),
1,MODBUSW(H, base +31, Uint16, 106),
MODBUSW(H, base +31, Uint16, 0));
Fan Speed Multi-value Switch

Controls the indoor unit fan speed

Register: H:base+4 UInt16 numeric
Values / States: Auto · Low · Medium · High

Fan Speed

Read switch state
var base := 50 + IU*50;

MODBUSR(H, base +4, Uint16)
Write switch state
var base := 50 + IU*50;

MODBUSW(H, base +4, Uint16, Mu)
Operation Mode Multi-value Switch

Selects the AC operation mode

Register: H:base+3 UInt16 numeric
Values / States: Auto · Cool · Dry · Fan · Heat

Operation Mode

Read switch state
var base := 50 + IU*50;

MODBUSR(H, base +3, Uint16)
Write switch state
var base := 50 + IU*50;

MODBUSWNE(H, base +3, Uint16, Mu)
Power ON/OFF Switch

Turns the indoor AC unit on or off

Register: H:base+2 Bool

Power ON/OFF

Read switch state
var base := 50 + IU*50;

MODBUSR(H, base +2, Uint16)
Write switch state
var base := 50 + IU*50;

MODBUSWNE(H, base +2, Bool, St)
Room Temperature Thermostat

Current room temperature and setpoint control

Register: H:base+9H:base+8 Int16 Unit: °C numeric

Room Temperature

Read temperature
var base := 50 + IU*50;

MODBUSR(H, base +9, Int16) / 10
Read desired temperature
var base := 50 + IU*50;

MODBUSR(H, base +8, Int16) / 10
Write desired temperature
var base := 50 + IU*50;

MODBUSW(H, base +8, Int16, Se * 10)
Vertical Air Flow Switch

Enables or disables the vertical vane swing

Register: H:base+5 Bool

Vertical Air Flow

Read switch state
var base := 50 + IU*50;

MODBUSR(H, base +5, Bool)
Write switch state
var base := 50 + IU*50;

MODBUSW(H, base +5, Bool, St)
Wind Free Switch

Samsung Wind-Free cooling mode — disperses air through micro-holes instead of direct airflow

Register: H:base+30 UInt16 numeric

Wind Free

Read switch state
var base := 50 + IU*50;

MODBUSR(H, base + 30, Uint16)
Write switch state
var base := 50 + IU*50;

MODBUSW(H, base + 30, Uint16, St)
Connection: Modbus RTU • 9600 baud• 8E1 • Slave ID: $[SlaveId]
Possible improvements (6)
  • H:base+6 Filter-Cleaning Reminder — 0=No alarm, 1=Filter alarm present. Read via module readscript (ADDWARNING) but not exposed as device. Indoor/ERV/FCU only
  • H:base+10 Discharge Temperature — Discharge temperature °C × 10. Available for Indoor units. Read-only
  • H:base+13 Indoor Unit Error Code — 0=No error, 100–999=Error code. Read via module readscript (ADDERROR) but not exposed as device
  • H:base+14 Remote Control Restriction (write) — Write: 0x0000=No restriction, 0x6363=Restriction. Read exposed as service attribute but write not exposed as service action
  • H:base+28 Quiet Control — 0=Silence Off, 1=Silence On. Available for Indoor units but not implemented in template
  • H:base+29 Away Function — 0=Outing Off, 1=Outing On. Available for Indoor units but not implemented in template

Sources

  • MIM-B19N Installation Manual — Modbus register table, wiring, DIP switch addressing
  • Extended register map with MessageSet IDs for outdoor/indoor hidden registers
  • Samsung Modbus community integration reference