- Zabbix must be able to work with Modbus out-of-box.
- Support Modbus modes (protocols):
- Serial (RTU, ASCII)
- Bulk data collection support (responses should be JSON-formatted).
- Zabbix must be able to poll data from slave devices.
- Two or more Zabbix pollers must not poll the same serial port at the same time.
- Support of 16bit, 32bit, 64bit datatypes like unsigned integers, signed integers, floats, and doubles must be implemented.
- The item key might look like "modbus.get[<endpoint>,<slave id>,<function>,<address>[,<type>][,<count>][,<endianess>][,<first register>]]". Where:
- <endpoint> is an endpoint defining protocol and address. Like "rtu://COM1" or "tcp://192.168.6.1:511".
- <slave id> slave id.
- <function> modbus function (like "04" to read input register).
- <address> registry address.
- <type> data type (like "uint16").
- <count> number of records to read.
- <endianess> endianess configuration.
- <first register> address of first register to read.
- This functionality must be supported for Zabbix Agent and Zabbix Agent 2 at least for Linux and Windows platforms
There are no Sub-Tasks for this issue.