ezvpn-gw-modbus is a service (provided as Docker container image) that acts as a Modbus TCP Server.

Modbus Gateway Container Schema

By using ezvpn-gw-modbus, you can:

  • write data to IOhubTM using Modbus TCP protocol.

  • read data from IOhubTM using Modbus TCP protocol.

  • exchange data from Modbus to other supported IOhubTM protocols using the exchanger container.

How to use it

ezvpn-gw-modbus is a Docker container image pre-configured to communicate with Modbus TCP protocol.

It listens by default on port 502 and responds to any register types with a 0x0000. To read and write Modbus registry from the IOhubTM environment, you can use the Modbus field container.

You don't need to configure any the Modbus registry. All default registry are pre-initialized with value 0x0000.

You can use ezvpn-gw-modbus directly in IOhubTM for final production, or on your PC for testing purposes.

If your IOhubTM hardware is configured in router mode, by default, access to any network port from WAN is denied. Please read the section "Access from WAN" to unlock it.

Supported data types

  • Discrete Input: (digital input, as defined in Modbus)

  • Coil: (digital output, as defined in Modbus)

  • Holding Register: (internal word register, as defined in Modbus)

  • Input Register (analog input, as defined in Modbus)

Environment variables

When you start the ezvpn-gw-modbus image, you can adjust the instance's configuration by passing one or more environment variables to the docker run command.

  • MODBUS_PORT: Modbus server port. Defaults to 502.

  • DEBUG_LEVEL: Console debug level: can be debug, info, warn, error. Defaults to info.

Docker container details


Supported architecture: amd64

Based on oitc/modbus-server by Michael Oberdorf


  • DEBUG_LEVEL Environment variable added
  • First Release