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
- Open TapHome and go to Settings → Modules
- Add a new Modbus TCP device
- Enter the gateway IP address (factory default: 192.168.92.114) and port 502
- Set the Slave ID to 1 (default) — or the value configured on the gateway
- 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):
| Register | Parameter | Default | Options |
|---|---|---|---|
| H:5 | Baud Rate | 9600 | 1200, 2400, 4800, 9600, 14400, 19200, 28800, 38400, 56000, 57600, 115200 |
| H:6 | Parity | None | None, 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:
| Value | FTC4 | FTC5/FTC6 |
|---|---|---|
| 0 | No type | No type |
| 1 | Heating C1 | H/C A1 B1 C1 |
| 2 | Heating C2 | H/C A2 B2 C2 |
| 3 | Heating C3 | H/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
- Verify the MelcoBEMS MINI gateway is powered on and connected to the network
- 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
- Confirm the IP address and port (502) in TapHome module settings
- Check the Slave ID matches the gateway configuration (default: 1)
- 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.
- Check the CN105 cable connection between the gateway and the indoor unit
- Verify the indoor unit is powered on
- 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.
