TapHome

Daikin FWEC3

Modbus RTU
Submitted by
Last updated: 03. 2026
Daikin FWEC3

The Daikin FWEC3 (model FWEC3A) is an Advanced Plus LCD electronic controller for indoor fan coil units. It communicates via Modbus RTU over RS-485 and provides control of operating mode, temperature setpoints, fan speed, and unit on/off state through TapHome.

The controller supports 2-pipe and 4-pipe fan coil systems with up to 38 system configurations (parameter P00), 3 or 4 fan speeds or modulating fan operation, and optional water temperature monitoring. A master-slave RS-485 network supports up to 247 slave controllers.

Hardware connection

RS-485 wiring

The FWEC3 electronic board provides RS-485 terminals labeled A(-), B(+), and GND for Modbus RTU communication.

Connect using a 3-wire RS-485 connection:

  • A(-) on FWEC3 → A-/D- on TapHome RS-485
  • B(+) on FWEC3 → B+/D+ on TapHome RS-485
  • GND on FWEC3 → GND on TapHome power supply (mandatory)

Cable specification:

  • Type: AWG 24, shielded 2-conductor cable (0.511 mm diameter)
  • Termination resistor required on both ends of the RS-485 bus (master-slave setup)
  • Ground the shield at one end only to avoid ground loops

The GND wire must be connected between the FWEC3 controller and TapHome. Without proper grounding, communication errors will occur. Use single-point grounding for the cable shield.

Wiring diagram
Daikin FWEC3 wiring diagram — 2-pipe 3-speed configuration with RS-485 terminals

The top diagram shows a typical 2-pipe, 3-speed fan coil wiring with the FWEC3 controller. The RS-485 bus terminals (A, B, GND) are located on the lower-left area of the electronic board, alongside sensor inputs (SA, SW, SU) and digital/analog outputs.

Daikin FWEC3 wiring diagram — 4-pipe configuration with EPIMSB6 expansion board

The bottom diagram shows a 4-pipe configuration using the EPIMSB6 expansion board for additional valve and motor outputs. The RS-485 connection remains on the main FWEC3 board.

Configuration

Modbus address (P02)

The Modbus slave address is configured via parameter P02 on the controller:

  1. Switch the thermostat off
  2. Press the Up and Down keys simultaneously to enter the password screen
  3. Enter password 10 and confirm
  4. Scroll to parameter P02
  5. Set the desired Modbus address (1–254 for slave, 255 for master)
  6. Confirm and exit configuration mode

The default slave address is 1. After changing P02, power-cycle the controller for the new address to take effect.

Communication parameters

The FWEC3 uses fixed communication settings that must match the TapHome Modbus RTU CCU configuration:

ParameterValue
Baud rate9600
ParityNone
Data bits8
Stop bits2
Supervisor enable pattern

The FWEC3 uses a supervisor enable pattern on register H:50. Each control function (on/off, mode, setpoint, fan speed) has a dedicated enable bit in the high byte of H:50. The corresponding control bit in the low byte has no effect until its enable bit is set.

The TapHome template includes four service actions on the module level to enable supervisor control:

Service actionBitWhat it enables
Enable On/Off supervisorH:50 bit 8Unit on/off control via State device
Enable mode supervisorH:50 bit 9Cool/Heat mode switching via Mode device
Enable setpoint supervisorH:50 bit 13Temperature setpoint override via Thermostat
Enable fan speed supervisorH:50 bit 15Fan speed control via Fan Speed device

After importing the template, run all four service actions before attempting to control the fan coil unit. Without enabling the supervisor bits, write commands from TapHome are silently ignored by the controller.

Device capabilities

Operating mode and state control
  • Mode — selects the operating mode: Cool, Heat, Fan, or Dry. Reads bit 1 of the status register (A:0) and writes via supervisor bit 1 in H:50. A service attribute shows whether mode supervision is currently enabled.
  • State — turns the fan coil unit on or off. Reads bit 0 of the status register (A:0) and writes via supervisor bit 0 in H:50. A service attribute shows whether on/off supervision is currently enabled.
Temperature monitoring and control
  • Thermostat — provides room temperature regulation. Reads the current room temperature from A:2, the current setpoint from A:8, and room humidity from A:3. The write script automatically selects the correct setpoint register based on the current operating mode: H:52 for cooling or H:53 for heating. Service attributes expose the setpoint supervision status and the minimum/maximum setpoint limits for both cooling (H:54–H:55) and heating (H:56–H:57).
  • Water Temperature — reads the water pipe temperature from register A:4 with automatic division by 100 for conversion to degrees Celsius. This sensor is only available when a water temperature probe is installed (parameter P04=1).
Fan speed control
  • Fan Speed — selects from five speed levels: Off, Very low, Low, Medium, and High (values 0–4). Reads the current speed from A:1 and writes to H:58. For units with modulating fan control, H:58 accepts a percentage value instead. Service attributes show the modulating fan mode (Off, Manually forced, Automatic) from H:60, and whether fan speed supervision is enabled.
Additional capabilities

The FWEC3 controller also exposes registers for the active temperature setpoint (A:7), system configuration readback (A:5), analog output monitoring (A:15–A:16), economy mode with setpoint correction (H:50 bit 3 + H:59), hourly programming schedules (H:51), keypad lock (H:50 bit 5), and dehumidification status (A:0 bit 12). These can be added in a future template update.

The module ReadScript monitors bit 5 of the status register (A:0) and reports a “General alarm on unit” error in TapHome when an alarm condition is detected on the fan coil unit.

Troubleshooting

Controller does not respond to mode/setpoint/fan changes

This is the most common issue. The supervisor enable bits in H:50 must be set before BMS control works:

  1. Open the Daikin FWEC3 module in TapHome
  2. Run all four service actions: Enable On/Off supervisor, Enable mode supervisor, Enable setpoint supervisor, Enable fan speed supervisor
  3. Retry the control command
No Modbus communication
  1. Check RS-485 wiring: Verify A(-), B(+), and GND are correctly connected and the GND wire is present
  2. Verify slave address: Confirm parameter P02 matches the Slave ID configured in TapHome (default: 1)
  3. Check communication settings: TapHome must be set to 9600 baud, no parity, 8 data bits, 2 stop bits (note: 2 stop bits, not 1)
  4. Termination resistor: For long bus runs or multiple units, ensure termination resistors are present at both ends of the RS-485 bus
Water temperature reads zero

The water temperature sensor (A:4) requires a physical water probe to be installed and parameter P04 to be set to 1 (available). If P04=0, the register returns 0.

Thermostat writes to wrong setpoint register

The template automatically selects H:52 (cooling) or H:53 (heating) based on the current mode bit (A:0 bit 1). If the mode changes between writing setpoints, the setpoint may be written to the previous mode’s register. Ensure the mode is stable before adjusting the setpoint.

Available devices

Daikin FWEC3 Module
Service Actions
Enable On/Off supervisor
Enable mode supervisor
Enable setpoint supervisor
Enable fan speed supervisor

Daikin FWEC3

Read (module)
IF(GETBIT(MODBUSR(A, 0, Uint16),5) = 1, ADDERROR("General alarm on unit"));
Service Actions
Enable On/Off supervisor
var reg:= MODBUSR(H, 50, Uint16);
MODBUSW(H, 50, UInt16, SETBIT(reg,8,1));
Enable mode supervisor
var reg:= MODBUSR(H, 50, Uint16);
MODBUSW(H, 50, UInt16, SETBIT(reg,9,1));
Enable setpoint supervisor
var reg:= MODBUSR(H, 50, Uint16);
MODBUSW(H, 50, UInt16, SETBIT(reg,13,1));
Enable fan speed supervisor
var reg:= MODBUSR(H, 50, Uint16);
MODBUSW(H, 50, UInt16, SETBIT(reg,15,1));
Mode Multi-value Switch

Operating mode selector — Cool, Heat, Fan, or Dry

Register: A:0 (bit 1)H:50 (bit 1) UInt16 bitmask
Values / States: Cool · Heat · Fan · Cool · Dry

Mode

Read switch state
GETBIT(MODBUSR(A, 0, UInt16),1);
Write switch state
var reg := MODBUSR(H, 50, UInt16);
MODBUSW(H, 50, UInt16, SETBIT(reg,1,Mu));
Service Attributes
Set mode supervision enabled
Switch(GETBIT(MODBUSR(H, 50, Uint16),9), 0, "Disabled", 1, "Enabled","Unknown");
State Switch

Unit On/Off control — turns the fan coil unit on or off

Register: A:0 (bit 0)H:50 (bit 0) UInt16 bitmask
Values / States: ON · OFF

State

Read switch state
GETBIT(MODBUSR(A, 0, Uint16), 0);
Write switch state
var reg := MODBUSR(H, 50, UInt16);
MODBUSW(H, 50, UInt16, SETBIT(reg,0,St));
Service Attributes
On/Off supervision control enabled
Switch(GETBIT(MODBUSR(H, 50, Uint16),8), 0, "Disabled", 1, "Enabled","Unknown");
Water Temperature Temperature Sensor Read-only

Water pipe temperature sensor — available only when water probe is installed (P04=1)

Register: A:4 UInt16 Unit: °C numeric

Water Temperature

Read temperature
MODBUSR(A, 4, UInt16) / 100
Thermostat Thermostat

Room temperature regulation with humidity — reads current temperature, setpoint, and humidity; writes cooling or heating setpoint based on current mode

Register: A:2 (current temp), A:8 (desired temp), A:3 (humidity)H:52 (cooling setpoint) / H:53 (heating setpoint) UInt16 Unit: °C numeric
Service Attributes
Setpoint temperature supervision enabled
Minimum setpoint cool
Maximum setpoint cool
Minimum setpoint heat
Maximum setpoint heat

Thermostat

Read temperature
MODBUSR(A, 2, Uint16) / 10
Read desired temperature
MODBUSR(A, 8, Uint16) / 10
Write desired temperature
IF(GETBIT(MODBUSR(A, 0, UInt16),1)=0, MODBUSW(H, 52, UInt16, Se * 10),MODBUSW(H, 53, UInt16, Se * 10));
Read humidity
MODBUSR(A, 3, Uint16) / 100
Service Attributes
Setpoint temperature supervision enabled
Switch(GETBIT(MODBUSR(H, 50, Uint16),13), 0, "Disabled", 1, "Enabled","Unknown");
Minimum setpoint cool
MODBUSR(H, 54, Uint16)/10;
Maximun setpoint cool
MODBUSR(H, 55, Uint16)/10;
Minimun setpoint heat
MODBUSR(H, 56, Uint16)/10;
Maximun setpoint heat
MODBUSR(H, 57, Uint16)/10;
Fan Speed Multi-value Switch

Fan speed selector — Off, Very low, Low, Medium, High; supports step control or modulating percentage

Register: A:1H:58 UInt16 numeric
Values / States: Off · Very low · Low · Medium · High

Fan Speed

Read switch state
MODBUSR(A,1, UInt16)
Write switch state
MODBUSW(H, 58, UInt16, Mu)
Service Attributes
Modulating fan mode
Switch(MODBUSR(H, 60, Uint16), 0, "Fan off", 1, "Manually forced fan", 2, "Automatic fan operation", "Unknown");
Fan spees supervision enabled
Switch(GETBIT(MODBUSR(H, 50, Uint16),15), 0, "Disabled", 1, "Enabled","Unknown");
Connection: Modbus RTU • 9600 baud• 8N2 • Slave ID: $[SlaveId]
Possible improvements (10)
  • A:5 P00: System Configuration — System configuration code (001–038) — defines pipe count, valve type, speeds, S/W logic
  • A:7 Active Setpoint — Currently active temperature setpoint × 10 (°C) — useful for monitoring actual target vs user setpoint
  • A:9 LCD Version — Controller firmware version — useful as service attribute
  • A:15 Analog Output 1 — Current value of analog output 1 (%) — valve modulation or fan modulation depending on P14
  • A:16 Analog Output 2 — Current value of analog output 2 (%) — fan modulation or hot water valve depending on P14
  • H:51 Hourly Programming — Timer-programmed operating mode — 0=disabled, 1=ON/OFF schedule, 2=SETPOINT schedule
  • H:59 Economy Correction — Economy mode setpoint correction × 10 (°C) — adjusts setpoint when Eco mode is active via H:50 bit 3
  • A:0 (bit 5) Keypad Lock Status — Read-only status of keypad lock; write via H:50 bit 5
  • A:0 (bit 3) Economy Mode Status — Whether economy mode is active; controlled via H:50 bit 3 (requires En.ECO bit 11)
  • A:0 (bit 12) Dehumidification Status — Whether dehumidification is currently active

Sources