# Retrieve data from MODBUS slave devices [[inputs.modbus]] ## Connection Configuration ## ## The plugin supports connections to PLCs via MODBUS/TCP, RTU over TCP, ASCII over TCP or ## via serial line communication in binary (RTU) or readable (ASCII) encoding ## ## Device name name = "Device" ## Slave ID - addresses a MODBUS device on the bus ## Range: 0 - 255 [0 = broadcast; 248 - 255 = reserved] slave_id = 1 ## Timeout for each request timeout = "1s" ## Maximum number of retries and the time to wait between retries ## when a slave-device is busy. # busy_retries = 0 # busy_retries_wait = "100ms" # TCP - connect via Modbus/TCP controller = "tcp://localhost:502" ## Serial (RS485; RS232) ## For RS485 specific setting check the end of the configuration. ## For unix-like operating systems use: # controller = "file:///dev/ttyUSB0" ## For Windows operating systems use: # controller = "COM1" # baud_rate = 9600 # data_bits = 8 # parity = "N" # stop_bits = 1 ## Transmission mode for Modbus packets depending on the controller type. ## For Modbus over TCP you can choose between "TCP" , "RTUoverTCP" and ## "ASCIIoverTCP". ## For Serial controllers you can choose between "RTU" and "ASCII". ## By default this is set to "auto" selecting "TCP" for ModbusTCP connections ## and "RTU" for serial connections. # transmission_mode = "auto" ## Trace the connection to the modbus device # log_level = "trace" ## Define the configuration schema ## |---register -- define fields per register type in the original style (only supports one slave ID) ## |---request -- define fields on a requests base ## |---metric -- define fields on a metric base configuration_type = "register" ## Exclude the register type tag ## Please note, this will also influence the grouping of metrics as you won't ## see one metric per register type anymore! # exclude_register_type_tag = false