influxdata / influxdata/telegraf
[inputs.modbus] Modbus UDP Feature Resquest
- Dominant language
- Go
- Stars
- 17.8k
- Forks
- 5.8k
- Avg merge
- 1d 20h
- Merged PRs (30d)
- 161
Description
## Feature Request
Add the ability to use Modbus/TCP over a UDP transport.
### Proposal:
Add the ability to poll Modbus/TCP slaves over UDP
controller = "udp://localhost:502"
### Current behavior:
controller = "tcp://localhost:502"
modbus plugin establishes a TCP connection to the modbus slaves and polls registers
### Desired behavior:
controller = "udp://localhost:502"
modbus plugin send modbus request over UDP to poll registers
### Use case:
Modbus slaves that support UDP would benefit from the reduced overhead especially when telegraf isn't the only master polling the device for data. The same RTUoverTCP and ASCIIoverTCP options could remain.
Contributor guide
Research direction
Start with the inputs.modbus plugin and its existing TCP controller handling, then trace how polling requests are transported. The work is done when an udp://localhost:502 controller can poll Modbus registers while the current TCP and RTUoverTCP/ASCIIoverTCP behavior remains supported.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- networking
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100