TapHome

Modbus device ID collision

Multiple Modbus devices with the same Slave ID causing communication errors

Symptom

One or more Modbus devices (for example, energy meters) show communication errors or don’t respond. This often happens when:

  • Adding multiple devices to the same bus
  • Configuring a new device with factory default settings
  • Two devices accidentally have the same Slave ID

Cause

Every Modbus device on the same bus must have a unique Slave ID. Most devices ship with a factory default ID (often 1), causing collisions when multiple devices are connected.

Solution

Step 1: Identify the Collision

  1. Go to SettingsHardware and check which Modbus devices show errors
  2. Note the Slave IDs configured in TapHome
  3. Check if any two devices share the same ID

Step 2: Isolate the Device

If you can’t communicate with the device:

  1. Disconnect all other Modbus devices from the bus temporarily
  2. Leave only the device you want to reconfigure
  3. This ensures you can communicate with it

Step 3: Change the Slave ID

The Slave ID can be changed in one of two ways:

Option A: Via TapHome Service settings

  1. Open the Modbus device in TapHome
  2. Go to Service settings
  3. Look for a Service actions related to Slave ID
  4. Set a unique ID (e.g., 5, 10, 15 for different devices)
  5. Save the settings

Option B: Via device’s own interface

Some Modbus devices have their own menu or configuration interface. Refer to the device’s documentation for instructions on how to change the Slave ID.

The Slave ID is stored in the device’s internal memory. This is different from the communication settings in TapHome.

Step 4: Update TapHome Configuration

After changing the device’s Slave ID:

  1. Go to the device’s communication settings in TapHome
  2. Update the Slave ID to match the new value you just set
  3. The device should now communicate without errors

Step 5: Reconnect Other Devices

  1. Reconnect the other Modbus devices to the bus
  2. Verify each device has a unique Slave ID
  3. All devices should now communicate properly

Best Practice for Multiple Devices

When setting up multiple Modbus devices:

  1. Connect one device at a time
  2. Change its Slave ID to a unique value before connecting the next device
  3. Use a numbering scheme (e.g., 10, 11, 12… or 5, 10, 15…)
  4. Avoid Slave ID 1 as it’s the common factory default