Modbus input plugin feature roadmap #9305
Labels
area/modbus
discussion
Topics for discussion
feature request
Requests for new plugin and for new features to existing plugins
This issue addresses Telegraf's plans on changes to
inputs.modbus
- all these enhancements will be backwards compatible. The features are listed in priority order with all of the feature requests and workarounds dependent on the plugin code restructuring that will be implemented in Telegraf 1.19.Many of the Modbus plugin bugs that have been opened have been due to fact that there is such a wide variety of Modbus devices out there and we cannot test for all of them. We want to understand the issues these array of devices may run into with the Modbus plugin and workarounds for them. Please open a separate bug report for any other bugs you may encounter.
If you would like to test out new Modbus features, please comment on this issue with type of devices you have.
Code restructuring
Description: Change the plugin code-structure to allow further extensions and ease maintenance
Type: Code restructuring
Status: Modbus rework #9141 merged into master
related issues: -
related PRs: Modbus rework #9141
Target release: Telegraf 1.19
Hardware workarounds
Title: Workaround for closing the connection after every gather cycle
Description: Implement workaround for devices with a limited number of simultaneous connections and open/close the connection before/after every gather cycle
Type: Hardware workaround
Status: submitted as feat: Modbus connection settings (serial) #9256
related issues: input.modbus TCP connection handling #8225
related PRs: feat: Modbus connection settings (serial) #9256
Target release: Telegraf 1.19+
Title: Workaround for serial connection pause
Description: Implement workaround for certain serial connectors requiring a pause between requests
Type: Hardware workaround
Status: submitted as feat: Modbus connection settings (serial) #9256 and tested
related issues: Modbus Serial port timeout for discontinued address poll #9253
related PRs: feat: Modbus connection settings (serial) #9256
Target release: Telegraf 1.19+
Title: Workaround for enforcing bit-register reads from zero
Description: Implement workaround for certain devices that can only read bit-registers (coil & discrete) with a zero offset
Type: Hardware workaround
Status: workaround exists -- fill all caps and read all coils up to the one you need
related issues: maybe [inputs.modbus] read multiple coils with higher address gives wrong result #8905 and Fatek PLC Modbus not reading all coils status #7774?
related PRs: feat(inputs.modbus): Add workaround to enforce reads from zero for coil registers #12408
Target release: Telegraf 1.26.0
Feature requests
Title: Allow reading multiple servers with one connection (gateway)
Description: Modbus allows multiple server devices for one client. Allow to read multiple servers with one connection. This is required for devices with constraint connectivity (e.g. max 4 clients or serial devices).
Type: Feature request
Status: submitted as feat: Modbus support multiple slaves (gateway feature) #9279, workaround exists -- use multiple instances of the plugin. Will not work with e.g. serial devices.
related issues: Multiple Modbus terminal Monitoring #7523, Modbus input: multiple controllers per input #7066 (closed), Modbus Serial RTU: support multiple slaves on the same bus #8676 (closed)
related PRs: feat: Modbus support multiple slaves (gateway feature) #9279
Target release: Telegraf 1.21
Title: Allow per-measurement configuration scheme
Description: People prefer different views on their modbus topology. One of those views is a per-measurement/metric view. Add a configuration scheme that supports this view.
Type: Feature request
Status: -
related issues: -
related PRs: feat(inputs.modbus): Add per-metric configuration style #13507
Target release: Telegraf 1.28.
Title: Support Modbus RTU/Ascii over TCP
Description: Some (serial-to-ethernet) interfaces require tunneling of RTU/Ascii frames over TCP.
Type: Feature request
Status: -
related issues: Telegraf Windows 7 and Modbus RTU plugin #7535, Modbus Serial RTU: support multiple slaves on the same bus #8676?
related PRs: -
Target release: Telegraf 1.20+
Title: Allow bool output for bit-register
Description: Bit registers are currently output as uint16 zero/one. Allow to also output as bool true/false
Type: Feature request
Status: workaround exists -- use converter processors to convert from int to bool
related issues: [inputs.modbus] Handle coils and discrete_inputs as booleans #9284
related PRs: feat(inputs.modbus): Allow to convert coil and discrete registers to boolean #12825
Target release: Telegraf 1.26.0
Title: Support string holding registers
Description: Allow reading of character registers and output as string.
Type: Feature request
Status: -
related issues: inputs.modbus support string holding registers #9062
related PRs: feat(inputs.modbus): Add support for string-fields #14145
Target release: Telegraf 1.29.0
Important Note: Please use client-server instead of master-slave when discussing Modbus features per the Modbus organization: https://www.modbus.org/docs/Client-ServerPR-07-2020-final.docx.pdf
The text was updated successfully, but these errors were encountered: