TapHome

Mitsubishi Ecodan EHST20C

Modbus TCP
Submitted by
Last updated: 03. 2026

Requires external gateway

Procon MelcoBEMS MINI (A1M) — product page

The Mitsubishi EHST20C is an Ecodan air-to-water (ATW) heat pump cylinder unit. It does not have a native Modbus interface — communication with TapHome requires the Procon MelcoBEMS MINI (A1M) gateway, which connects to the Ecodan indoor unit internally and exposes holding registers over Modbus TCP (Ethernet, port 502).

The TapHome template covers system ON/OFF control, holiday mode, heating status, zone and water temperature monitoring, energy metering and flow rate. The register availability depends on the FTC controller version installed — the EHST20C typically uses FTC4 or FTC5.

Hardware connection

Gateway overview

The Procon MelcoBEMS MINI (A1M) is a dedicated BMS gateway for Mitsubishi Ecodan systems. It connects to the indoor unit’s CN105 connector and provides both Modbus TCP (Ethernet) and Modbus RTU (RS-485) interfaces. The TapHome template uses the Modbus TCP interface.

The gateway exposes all Discrete, Coil and Input Registers as Holding Registers. Some registers are read-only; writable registers accept function code 06 (single write) or 16 (multi-register write).

Network connection

Connect the MelcoBEMS MINI gateway to the same network as TapHome Core using a standard Ethernet cable.

Factory default settings:

  • IP address: 192.168.92.114
  • Subnet mask: 255.255.255.0
  • Modbus TCP port: 502
  • Slave ID: 1 (configurable via register H:4, range 1–247)

The factory default IP address (192.168.92.114) is in the 192.168.92.x subnet, which is different from most home networks (typically 192.168.0.x or 192.168.1.x). You may need to temporarily change your computer’s IP to 192.168.92.x to access the gateway and reconfigure its network settings, or configure your router to route traffic to this subnet.

The MelcoBEMS MINI does not support mDNS. We recommend assigning a static IP address or creating a DHCP reservation in your router to prevent the gateway’s IP from changing.

Configuration

Modbus TCP connection in TapHome
  1. Open TapHome and go to Settings → Modules
  2. Add a new Modbus TCP device
  3. Enter the gateway IP address (factory default: 192.168.92.114) and port 502
  4. Set the Slave ID to 1 (default) — or the value configured on the gateway
  5. Import the Mitsubishi EHST20C template
Slave ID configuration

The default Modbus Slave ID is 1. It can be changed by writing a value (1–247) to holding register H:4 on the gateway. After changing the Slave ID, update the TapHome module configuration to match.

RS-485 configuration (reference only)

The MelcoBEMS MINI also exposes RS-485 configuration registers. These are only relevant if using the RS-485 interface (not used by this template):

RegisterParameterDefaultOptions
H:5Baud Rate96001200, 2400, 4800, 9600, 14400, 19200, 28800, 38400, 56000, 57600, 115200
H:6ParityNoneNone, Even, Odd

Device capabilities

System control
  • System ON/OFF (H:25) — turns the heat pump system on or off. The register also reports two read-only status values: 2 (Emergency Run) and 3 (Test Run), which may appear during special operating conditions. Write uses MODBUSWNE (write-if-not-equal) to avoid unnecessary bus traffic.
  • Holiday Mode (H:38) — activates holiday mode, which reduces DHW heating and maintains frost protection while the building is unoccupied. Write uses MODBUSWNE.
Heating status

Heating Status (H:72) is a read-only multi-value indicator showing the current heating circuit activity:

ValueFTC4FTC5/FTC6
0No typeNo type
1Heating C1H/C A1 B1 C1
2Heating C2H/C A2 B2 C2
3Heating C3H/C A3 B3 C3

On FTC5/FTC6 controllers, the extended values reflect combined heating/cooling circuit states. The template defines values 0–9, but values 4–9 are undefined placeholders reserved for future use.

Temperature monitoring

The template provides three temperature sensors that read from holding registers with automatic °C × 100 conversion (ReadTemperature script divides by 100):

  • Room Temperature Zone 1 (H:94) — room temperature measured by the zone 1 sensor. The template uses the unsigned register variant; the signed variant is available at H:93.
  • Flow Temperature (H:102) — water outlet temperature from the heat pump to the heating system. Also referred to as “Water Outlet Temperature” in the register tables. The signed variant is available at H:101.
  • Return Temperature (H:104) — water inlet temperature returning to the heat pump from the heating system. Also referred to as “Water Inlet Temperature” in the register tables. The signed variant is available at H:103.

All three sensors use a 15-second poll interval.

Energy metering
  • Total Energy Produced (H:298) — cumulative total energy produced by the heat pump in kWh (heating + cooling + DHW combined). Range 0–65,535 kWh. Available on FTC4/FTC5 systems only.
  • Energy Measurement Date — three registers provide the timestamp of the last energy measurement: Year (H:279), Month (H:280), and Day (H:281).
  • Flow Rate (H:299) — water flow rate in l/min (range 0–255). Available on FTC4/FTC5 systems only.
Additional capabilities

The Ecodan system via the MelcoBEMS MINI gateway exposes a comprehensive set of registers beyond what the current template implements. Available registers include operating mode selection (Stop, Hot Water, Heating, Cooling, Freeze Stat, Legionella, Heating-Eco), DHW mode control (Normal/Eco), zone 1 and zone 2 heating/cooling temperature setpoints, force DHW, tank water temperature setpoint and readback, outdoor ambient temperature (°C × 10 scale), defrost status (Normal/Standby/Defrost/Waiting Restart), heat pump compressor frequency (0–255 Hz), heat source status (Heat Pump/Immersion Heater/Booster Heater/Boiler), fault and error codes (hex and decimal), and detailed energy consumption breakdowns (heating, cooling, DHW separately with kWh and Wh precision). These can be added in a future template update.

The operating mode register (H:26) and zone temperature setpoints (H:32, H:34) are not included in the current template but are critical for full HVAC control. They can be added as custom Modbus devices in TapHome using the register addresses listed above. The temperature setpoint registers use °C × 100 encoding.

Troubleshooting

No Modbus communication
  1. Verify the MelcoBEMS MINI gateway is powered on and connected to the network
  2. Check that TapHome Core and the gateway are on the same network subnet — the factory default 192.168.92.x may not match your home network
  3. Confirm the IP address and port (502) in TapHome module settings
  4. Check the Slave ID matches the gateway configuration (default: 1)
  5. Read register H:11 to verify the gateway firmware version — this confirms basic Modbus TCP communication is working
Gateway reports bad communication (error code 0x6999)

Error code 0x6999 (or decimal 6999) in register H:9 indicates the MelcoBEMS MINI cannot communicate with the Ecodan indoor unit.

  1. Check the CN105 cable connection between the gateway and the indoor unit
  2. Verify the indoor unit is powered on
  3. Read register H:13 for the system type detected — it should show 1 (ATW). A value of 255 (Undetermined) indicates the gateway has not established communication with the unit
Temperature readings show incorrect values

All temperature registers in this template use a scale factor of °C × 100 (the ReadTemperature script divides by 100 automatically). Outdoor temperature (H:99, not in template) uses a different scale factor of °C × 10. Custom Modbus devices for registers not in the template need manual scale configuration.

Energy registers show zero

Energy measurement registers (H:279–H:299) are available on FTC4 and FTC5 systems only. If your system uses an FTC6 controller, these registers will not return valid data. Read register H:270 to identify the model profile: 1=FTC4, 2=FTC5, 3=FTC6.

Available devices

Mitsubishi EHST20C Module
System ON/OFF Switch

Heat pump system power control — ON, OFF, with Emergency Run and Test Run as read-only status values

Register: H:25 Bool

System ON/OFF

Read switch state
MODBUSR(H, 25, Bool)
Write switch state
MODBUSWNE(H, 25, Bool, St)
Holiday Mode Switch

Activates holiday mode — reduces DHW heating and maintains frost protection while unoccupied

Register: H:38 Bool

Holiday Mode

Read switch state
MODBUSR(H, 38, Bool)
Write switch state
MODBUSWNE(H, 38, Bool, St)
Heating Status Multi-value Switch Read-only

Current heating circuit activity — No type, Heating C1, Heating C2, Heating C3 (FTC4); extended H/C modes on FTC5/FTC6

Register: H:72 Int16 numeric
Values / States: No type · Heating C1 · Heating C2 · Heating C3

Heating Status

Read switch state
MODBUSR(H, 72, Int16)
Room Temperature Zone 1 Temperature Sensor Read-only

Zone 1 room temperature sensor — uses the unsigned register variant (H:94)

Register: H:94 Int16 Unit: °C numeric

Room Temperature Zone 1

Read temperature
MODBUSR(H, 94, Int16) / 100
Flow Temperature Temperature Sensor Read-only

Water outlet temperature from the heat pump to the heating system

Register: H:102 Int16 Unit: °C numeric

Flow Temperature

Read temperature
MODBUSR(H, 102, Int16) / 100
Return Temperature Temperature Sensor Read-only

Water inlet temperature returning from the heating system to the heat pump

Register: H:104 Int16 Unit: °C numeric

Return Temperature

Read temperature
MODBUSR(H, 104, Int16) / 100
Energy Measurement Date — Day Variable Read-only

Day component of the last energy consumption measurement timestamp

Register: H:281 Int16 numeric

Energy Measurement Date — Day

Read
MODBUSR(H, 281, Int16)
Energy Measurement Date — Month Variable Read-only

Month component of the last energy consumption measurement timestamp

Register: H:280 Int16 numeric

Energy Measurement Date — Month

Read
MODBUSR(H, 280, Int16)
Energy Measurement Date — Year Variable Read-only

Year component of the last energy consumption measurement timestamp

Register: H:279 Int16 numeric

Energy Measurement Date — Year

Read
MODBUSR(H, 279, Int16)
Flow Rate Variable Read-only

Water flow rate through the heat pump system in litres per minute

Register: H:299 Int16 Unit: l/min numeric

Flow Rate

Read
MODBUSR(H, 299, Int16)
Total Energy Produced Variable Read-only

Cumulative total energy produced — heating, cooling and DHW combined (kWh, FTC4/FTC5 only)

Register: H:298 Int16 Unit: kWh numeric

Total Energy Produced

Read
MODBUSR(H, 298, Int16)
Connection: Modbus TCP • Slave ID: $[SlaveId]
Possible improvements (16)
  • H:26 Operating Mode — R/W operating mode: 0=Stop, 1=Hot Water, 2=Heating, 3=Cooling, 5=Freeze Stat, 6=Legionella, 7=Heating-Eco — critical HVAC control missing from template
  • H:27 DHW Mode — R/W DHW operating mode: 0=Normal, 1=Eco
  • H:28 A/C Mode Zone 1 — R/W zone 1 mode: 0=Heating Room, 1=Heating Flow, 2=Heating Curve, 3=Cooling Room, 4=Cooling Flow, 5=Floor Dryup
  • H:29 A/C Mode Zone 2 — R/W zone 2 mode — same values as Zone 1
  • H:30 Tank Water Temperature Setpoint — R/W tank water temperature setpoint (°C × 100, signed). Critical DHW control
  • H:32 H/C Target Temperature Zone 1 — R/W heating/cooling thermostat target temperature Zone 1 (°C × 100, signed)
  • H:34 H/C Target Temperature Zone 2 — R/W heating/cooling thermostat target temperature Zone 2 (°C × 100, signed)
  • H:37 Force DHW — R/W force DHW: 0=Normal, 1=Force DHW
  • H:54 Thermostat Target Temperature Zone 1 — R/W thermostat target temp Zone 1 (°C × 100, signed). Confirmed by HA config
  • H:9 Fault/Error Code — Read-only fault code (hex): 0x8000=No error, 0x6999=Bad communication
  • H:67 Defrost Status — Read-only: 0=Normal, 1=Standby, 2=Defrost, 3=Waiting Restart. Confirmed by HA config
  • H:73 Heat Pump Frequency — Read-only: 0–255 Hz. Compressor frequency indicator. Confirmed by HA config
  • H:80 Heat Source Status — Read-only: 0=H/P, 1=IH, 2=BH, 3=IH+BH, 4=Boiler. Confirmed by HA config
  • H:99 Outdoor Ambient Temperature — Read-only outdoor temp (°C × 10, signed). Range -40.0 to 87.5°C. Confirmed by HA config
  • H:106 Tank Water Temperature — Read-only tank water temp (°C × 100, unsigned). Confirmed by HA config
  • H:288 Total Energy Consumed — Read-only total energy consumed in kWh. Counterpart to Total Energy Produced (H:298)

Sources

  • Procon MelcoBEMS MINI (A1M) ATW Modbus Register Tables V1.0.4
    PDF
  • Mitsubishi Heat Pump Modbus — Home Assistant Configuration
    github.com 2026-03-18