TapHome

WELLPRO WP8026ADAM

Modbus TCP
Submitted by
Last updated: 06. 2026
WELLPRO WP8026ADAM

The WELLPRO WP8026ADAM is a 16-channel digital input module with optocoupler-isolated dry-contact inputs. It is natively an RS485 Modbus RTU device (9600 baud, N/8/1) and is integrated with TapHome over Modbus TCP via an RS485-to-TCP gateway — TapHome Core does not require an on-board RS485 port.

The template exposes all 16 inputs (DI 1 – DI 16) as read-only binary sensors. Each input is read from a discrete-input register (1X) using Modbus function code 02, with a 2500 ms poll interval.

Hardware connection

The module ships in a compact DIN-rail enclosure (125 × 73 × 35 mm) and is powered from an external 9–30 VDC supply (2 W typical). It provides 1500 VDC isolation between the optocoupler inputs and the logic side, and the RS485 bus is designed with lightning and interference protection for industrial field wiring.

Terminals

The terminal strip is arranged in two rows:

RowTerminals
TopAVcc, AGnd, DI_01DI_08
BottomDI_09DI_16, 485A, 485B
  • AVcc / AGnd — external DC power (9–30 V). Verify polarity before powering up.
  • DI_01 – DI_16 — 16 digital input channels.
  • 485A / 485B — RS485 signal A+ / B−.
Digital input wiring
WELLPRO WP8026ADAM digital input application diagram — optocoupler-isolated dry-contact wiring with external power

Each input is driven by an internal optocoupler. A typical wiring is:

  1. Connect the external DC power supply (V+/V−) to AVcc / AGnd.
  2. Connect one side of the external contact (push button, switch or NPN sensor) to the external V+ rail.
  3. Connect the other side of the contact to the desired DI_xx terminal.

When the contact closes, current flows through the optocoupler and the input reads as logical 1 in the register. Inputs are active-low at the optocoupler side.

Up to 254 WELLPRO modules can share a single RS485 bus (address range 0x01 – 0xFE). If several modules are daisy-chained on one gateway, each must have a unique slave address (see Configuration → Module address below).

RS485-to-TCP gateway
RS485 network topology — PC, 485 converter and multiple WELLPRO modules on a shared bus

Because the WP8026ADAM speaks native Modbus RTU, a gateway is required between TapHome Core and the module:

  1. Wire 485A / 485B of the module to the A/B terminals of an RS485-to-TCP gateway (e.g. USR-TCP232, Waveshare RS485 to ETH, or any equivalent Modbus TCP ↔ RTU converter).
  2. Connect the gateway to the same LAN as TapHome Core via Ethernet.
  3. Configure the gateway to operate in Modbus TCP server → Modbus RTU master mode (sometimes labelled “Modbus TCP to RTU bridge” or “transparent transmission with Modbus protocol”).
  4. Set the serial side of the gateway to 9600 baud, 8 data bits, no parity, 1 stop bit — these are the WP8026ADAM factory defaults.

Configuration

When importing the template in TapHome, provide:

  • IP Address — IP of the RS485-to-TCP gateway (default: 192.168.0.1)
  • Slave ID — Modbus address of the WP8026ADAM on the RS485 bus (default: 1, range 0x01 – 0xFE)

Assign a static IP address or a DHCP reservation for the gateway in your router. If the gateway address changes after a power cycle, TapHome will lose communication with the module.

Enabling Modbus communication

The WP8026ADAM has no menu, DIP switches or web interface. It is always in Modbus RTU slave mode on its serial side — no “enable Modbus” step is needed on the device itself. All commissioning happens on two levels:

  • On the gateway — configure Modbus TCP ↔ RTU bridging and serial parameters (see RS485-to-TCP gateway above).
  • On the module — optionally change the Modbus slave address or serial parameters by writing to two holding registers (see below). The factory defaults are usually sufficient.
Module address

Each module’s Modbus slave address is stored in holding register 0x0064 (FC 06 write, FC 03 read). The default address is 0x01 and the setting persists across power cycles.

ParameterValue
RegisterH:0x0064 (4X 40101)
Data typeUInt16
Default0x01
Range0x01 – 0xFE

To change the address, send a broadcast write (master address 0x00) with function code 0x06:

1
00 06 00 64 00 01 08 04      # set address to 0x01 (example)

Only one module may be connected to the RS485 bus while performing a broadcast address change. If multiple modules are on the bus, all of them will accept the broadcast and end up sharing the same address.

Serial parameters (baud / parity)

Serial parameters are stored in holding register 0x0065. The factory default is 0x0002 (9600, N, 8, 1).

ValueBaudParityDataStop
0x00014800None81
0x00029600None81 (default)
0x000319200None81
0x000438400None81
0x00054800Even81
0x00069600Even81
0x000719200Even81
0x000838400Even81

The module must be power-cycled after a serial parameter change for the new settings to take effect. Lower baud rates offer higher noise immunity on long cable runs.

Module address and serial parameter registers are not exposed by the TapHome template. Configure them once during commissioning using the PC debug tool shipped with the module, a generic Modbus poll utility, or a temporary direct RS485 connection.

Device capabilities

The template exposes 16 read-only digital input sensors.

Digital inputs (DI 1 – DI 16)

Sixteen individually addressed binary sensors, each mapped to one discrete-input register (1X):

DeviceTerminalRegisterFunction code
DI 1DI_011X 10001 (D:0)02
DI 2DI_021X 10002 (D:1)02
DI 3DI_031X 10003 (D:2)02
DI 4DI_041X 10004 (D:3)02
DI 5DI_051X 10005 (D:4)02
DI 6DI_061X 10006 (D:5)02
DI 7DI_071X 10007 (D:6)02
DI 8DI_081X 10008 (D:7)02
DI 9DI_091X 10009 (D:8)02
DI 10DI_101X 10010 (D:9)02
DI 11DI_111X 10011 (D:10)02
DI 12DI_121X 10012 (D:11)02
DI 13DI_131X 10013 (D:12)02
DI 14DI_141X 10014 (D:13)02
DI 15DI_151X 10015 (D:14)02
DI 16DI_161X 10016 (D:15)02

Each device appears in TapHome as an individual binary (reed-contact) sensor. Poll interval is 2500 ms per channel. Because WP8026ADAM has no outputs, all devices are read-only.

Use the front-panel per-channel LEDs (labelled 01 – 16) as a quick visual cross-check during commissioning. A lit LED means the corresponding optocoupler is conducting — this state is what TapHome sees as closed on that channel.

Troubleshooting

No Modbus communication at all
  1. Verify the RS485-to-TCP gateway is reachable from TapHome Core (ping the gateway’s IP).
  2. Open the gateway web interface and confirm it is in Modbus TCP server / Modbus TCP to RTU bridge mode, not in transparent TCP passthrough.
  3. Confirm serial-side parameters on the gateway match the module: 9600 baud, 8 data bits, no parity, 1 stop bit (factory defaults).
  4. Check the POWER/DATA LED on the WP8026ADAM — it must be green. No light means no 9–30 V supply on AVcc / AGnd (or reversed polarity).
  5. Confirm the slave ID configured in TapHome matches the module’s address register 0x0064. The factory default is 1.
  6. Verify RS485 wiring: 485A ↔ gateway A (+), 485B ↔ gateway B (−). Swapped A/B is the most common RS485 issue.
POWER/DATA LED turns red during polling

A red LED indicates the module received a malformed or out-of-range command (for example a CRC mismatch, or a request addressed to a different slave). Cross-check the gateway mode — some bridges forward raw TCP bytes instead of repacking them as proper Modbus RTU, which produces CRC errors.

All 16 inputs read the same state
  • If all inputs read 0, the external V+ rail is likely not wired through the contacts, so no current reaches the optocouplers.
  • If all inputs read 1 continuously, the contacts may be shorted directly between V+ and DI without a return path through the power supply. Verify the wiring shown in the Digital input wiring diagram — the optocoupler needs a complete loop through the external DC supply.
Module stops responding after serial parameter change

A write to register 0x0065 takes effect only after a power cycle. Until the module is restarted, it still uses the previous serial settings. After restart, update the gateway’s serial parameters to match the new baud/parity before reconnecting.

Two modules answer on the same address

If two modules were commissioned at once via broadcast, both now share the same slave address. Disconnect all but one from the RS485 bus, then re-run the broadcast address change on each module individually.

Available devices

WELLPRO WP8026ADAM Module
DI 1 — Digital Input 1 Reed Contact Read-only

Optocoupler-isolated dry-contact input, active-low

Register: D:0 Bool

DI 1 — Digital Input 1

Read
MODBUSR(D, 0, Bool)
DI 2 — Digital Input 2 Reed Contact Read-only

Optocoupler-isolated dry-contact input, active-low

Register: D:1 Bool

DI 2 — Digital Input 2

Read
MODBUSR(D, 1, Bool)
DI 3 — Digital Input 3 Reed Contact Read-only

Optocoupler-isolated dry-contact input, active-low

Register: D:2 Bool

DI 3 — Digital Input 3

Read
MODBUSR(D, 2, Bool)
DI 4 — Digital Input 4 Reed Contact Read-only

Optocoupler-isolated dry-contact input, active-low

Register: D:3 Bool

DI 4 — Digital Input 4

Read
MODBUSR(D, 3, Bool)
DI 5 — Digital Input 5 Reed Contact Read-only

Optocoupler-isolated dry-contact input, active-low

Register: D:4 Bool

DI 5 — Digital Input 5

Read
MODBUSR(D, 4, Bool)
DI 6 — Digital Input 6 Reed Contact Read-only

Optocoupler-isolated dry-contact input, active-low

Register: D:5 Bool

DI 6 — Digital Input 6

Read
MODBUSR(D, 5, Bool)
DI 7 — Digital Input 7 Reed Contact Read-only

Optocoupler-isolated dry-contact input, active-low

Register: D:6 Bool

DI 7 — Digital Input 7

Read
MODBUSR(D, 6, Bool)
DI 8 — Digital Input 8 Reed Contact Read-only

Optocoupler-isolated dry-contact input, active-low

Register: D:7 Bool

DI 8 — Digital Input 8

Read
MODBUSR(D, 7, Bool)
DI 9 — Digital Input 9 Reed Contact Read-only

Optocoupler-isolated dry-contact input, active-low

Register: D:8 Bool

DI 9 — Digital Input 9

Read
MODBUSR(D, 8, Bool)
DI 10 — Digital Input 10 Reed Contact Read-only

Optocoupler-isolated dry-contact input, active-low

Register: D:9 Bool

DI 10 — Digital Input 10

Read
MODBUSR(D, 9, Bool)
DI 11 — Digital Input 11 Reed Contact Read-only

Optocoupler-isolated dry-contact input, active-low

Register: D:10 Bool

DI 11 — Digital Input 11

Read
MODBUSR(D, 10, Bool)
DI 12 — Digital Input 12 Reed Contact Read-only

Optocoupler-isolated dry-contact input, active-low

Register: D:11 Bool

DI 12 — Digital Input 12

Read
MODBUSR(D, 11, Bool)
DI 13 — Digital Input 13 Reed Contact Read-only

Optocoupler-isolated dry-contact input, active-low

Register: D:12 Bool

DI 13 — Digital Input 13

Read
MODBUSR(D, 12, Bool)
DI 14 — Digital Input 14 Reed Contact Read-only

Optocoupler-isolated dry-contact input, active-low

Register: D:13 Bool

DI 14 — Digital Input 14

Read
MODBUSR(D, 13, Bool)
DI 15 — Digital Input 15 Reed Contact Read-only

Optocoupler-isolated dry-contact input, active-low

Register: D:14 Bool

DI 15 — Digital Input 15

Read
MODBUSR(D, 14, Bool)
DI 16 — Digital Input 16 Reed Contact Read-only

Optocoupler-isolated dry-contact input, active-low

Register: D:15 Bool

DI 16 — Digital Input 16

Read
MODBUSR(D, 15, Bool)
Connection: Modbus TCP • Slave ID: $[SlaveId]
Possible improvements (3)
  • H:0x0064 (4X 40101) Module Address — UInt16, R/W via FC 06, persistent across power cycles; default 0x01, range 0x01–0xFE. Set via broadcast (master addr 00) with only one module connected
  • H:0x0065 (4X 40102) Communication Parameters (baud / parity) — UInt16, R/W via FC 06, persistent; default 0x0002 (9600/N/8/1). Values 0x0001–0x0008 select baud (4800/9600/19200/38400) × parity (None/Even). Module restart required to apply
  • n/a Module status LED — Front panel LED: green = powered / valid command, red = invalid command, twinkling = communicating. Per-channel status LEDs 01–16 indicate input state; not readable over Modbus, visual only

Sources

Found a problem with this device template?

Tell us what's wrong, what's missing, or how the template should behave. We rely on your feedback to keep the catalog accurate.

Verified by TapHome

Want to use this in your TapHome Core?

Open this template in the Customer Portal to apply it to one of your homes, or to draft a refinement and submit it back to the catalog.

Open in portal