pymodbus.repl.client package

Repl client.

Submodules

pymodbus.repl.client.completer module

Command Completion for pymodbus REPL.

class pymodbus.repl.client.completer.CmdCompleter(client=None, commands=None, ignore_case=True)

Bases: Completer

Completer for Pymodbus REPL.

arg_completions(words, word_before_cursor)

Generate arguments completions based on the input.

Parameters
  • words – The input text broken into word tokens.

  • word_before_cursor – The current word before the cursor, which might be one or more blank spaces.

Returns

A list of completions.

property command_names

Return command names.

property commands

Return commands.

completing_arg(words, word_before_cursor)

Determine if we are currently completing an argument.

Parameters
  • words – The input text broken into word tokens.

  • word_before_cursor – The current word before the cursor, which might be one or more blank spaces.

Returns

Specifies whether we are currently completing an arg.

completing_command(words, word_before_cursor)

Determine if we are dealing with supported command.

Parameters
  • words – Input text broken in to word tokens.

  • word_before_cursor – The current word before the cursor, which might be one or more blank spaces.

Returns

get_completions(document, complete_event)

Get completions for the current scope.

Parameters
  • document – An instance of prompt_toolkit.Document.

  • complete_event – (Unused).

Returns

Yields an instance of prompt_toolkit.completion.Completion.

word_matches(word, word_before_cursor)

Match the word and word before cursor.

Parameters
  • word – The input text broken into word tokens.

  • word_before_cursor – The current word before the cursor, which might be one or more blank spaces.

Returns

True if matched.

pymodbus.repl.client.helper module

Helper Module for REPL actions.

class pymodbus.repl.client.helper.Command(name, signature, doc, unit=False)

Bases: object

Class representing Commands to be consumed by Completer.

create_completion()

Create command completion meta data.

Returns

get_completion()

Get a list of completions.

Returns

get_meta(cmd)

Get Meta info of a given command.

Parameters

cmd – Name of command.

Returns

Dict containing meta info.

class pymodbus.repl.client.helper.Result(result)

Bases: object

Represent result command.

data = None
decode(formatters, byte_order='big', word_order='big')

Decode the register response to known formatters.

Parameters
  • formatters – int8/16/32/64, uint8/16/32/64, float32/64

  • byte_order – little/big

  • word_order – little/big

function_code = None
print_result(data=None)

Print result object pretty.

Parameters

data – Data to be printed.

raw()

Return raw result dict.

pymodbus.repl.client.helper.get_commands(client)

Retrieve all required methods and attributes.

Of a client object and convert it to commands.

Parameters

client – Modbus Client object.

Returns

pymodbus.repl.client.main module

Pymodbus REPL Entry point.

class pymodbus.repl.client.main.CaseInsenstiveChoice(choices: Sequence[str], case_sensitive: bool = True)

Bases: Choice

Do case Insensitive choice for click commands and options.

convert(value, param, ctx)

Convert args to uppercase for evaluation.

class pymodbus.repl.client.main.NumericChoice(choices, typ)

Bases: Choice

Do numeric choice for click arguments and options.

convert(value, param, ctx)

Convert.

pymodbus.repl.client.main.bottom_toolbar()

Do console toolbar.

Returns

pymodbus.repl.client.main.cli(client)

Run client definition.

pymodbus.repl.client.mclient module

Modbus Clients to be used with REPL.

class pymodbus.repl.client.mclient.ExtendedRequestSupport

Bases: object

Extended request support.

change_ascii_input_delimiter(data=0, **kwargs)

Change message delimiter for future requests.

Parameters
  • data – New delimiter character

  • kwargs

Returns

clear_counters(data=0, **kwargs)

Clear all counters and diag registers.

Parameters
  • data – Data field (0x0000)

  • kwargs

Returns

clear_overrun_count(data=0, **kwargs)

Clear over run counter.

Parameters
  • data – Data field (0x0000)

  • kwargs

Returns

force_listen_only_mode(data=0, **kwargs)

Force addressed remote device to its Listen Only Mode.

Parameters
  • data – Data field (0x0000)

  • kwargs

Returns

get_clear_modbus_plus(data=0, **kwargs)

Get/clear stats of remote modbus plus device.

Parameters
  • data – Data field (0x0000)

  • kwargs

Returns

get_com_event_counter(**kwargs)

Read status word and an event count.

From the remote device”s communication event counter.

Parameters

kwargs

Returns

get_com_event_log(**kwargs)

Read status word.

Event count, message count, and a field of event bytes from the remote device.

Parameters

kwargs

Returns

mask_write_register(address=0, and_mask=65535, or_mask=0, unit=0, **kwargs)

Mask content of holding register at address with and_mask and or_mask.

Parameters
  • address – Reference address of register

  • and_mask – And Mask

  • or_mask – OR Mask

  • unit – Modbus slave unit ID

  • kwargs

Returns

read_coils(address, count=1, slave=0, **kwargs)

Read count coils from a given slave starting at address.

Parameters
  • address – The starting address to read from

  • count – The number of coils to read

  • slave – Modbus slave unit ID

  • kwargs

Returns

List of register values

read_device_information(read_code=None, object_id=0, **kwargs)

Read the identification and additional information of remote slave.

Parameters
  • read_code – Read Device ID code (0x01/0x02/0x03/0x04)

  • object_id – Identification of the first object to obtain.

  • kwargs

Returns

read_discrete_inputs(address, count=1, slave=0, **kwargs)

Read count number of discrete inputs starting at offset address.

Parameters
  • address – The starting address to read from

  • count – The number of coils to read

  • slave – Modbus slave unit ID

  • kwargs

Returns

List of bits

read_exception_status(**kwargs)

Read tcontents of eight Exception Status output.

In a remote device.

Parameters

kwargs

Returns

read_holding_registers(address, count=1, slave=0, **kwargs)

Read count number of holding registers starting at address.

Parameters
  • address – starting register offset to read from

  • count – Number of registers to read

  • slave – Modbus slave unit ID

  • kwargs

Returns

read_input_registers(address, count=1, slave=0, **kwargs)

Read count number of input registers starting at address.

Parameters
  • address – starting register offset to read from to

  • count – Number of registers to read

  • slave – Modbus slave unit ID

  • kwargs

Returns

readwrite_registers(read_address, read_count, write_address, write_registers, unit=0, **kwargs)

Read read_count number of holding registers.

Starting at read_address and write write_registers starting at write_address.

Parameters
  • read_address – register offset to read from

  • read_count – Number of registers to read

  • write_address – register offset to write to

  • write_registers – List of register values to write (comma separated)

  • unit – Modbus slave unit ID

  • kwargs

Returns

report_slave_id(unit=0, **kwargs)

Report information about remote slave ID.

Parameters
  • unit – Modbus slave unit ID

  • kwargs

Returns

restart_comm_option(toggle=False, **kwargs)

Initialize and restart remote devices.

Serial interface and clear all of its communications event counters.

Parameters
  • toggle – Toggle Status [ON(0xff00)/OFF(0x0000]

  • kwargs

Returns

return_bus_com_error_count(data=0, **kwargs)

Return count of CRC errors received by remote slave.

Parameters
  • data – Data field (0x0000)

  • kwargs

Returns

return_bus_exception_error_count(data=0, **kwargs)

Return count of Modbus exceptions returned by remote slave.

Parameters
  • data – Data field (0x0000)

  • kwargs

Returns

return_bus_message_count(data=0, **kwargs)

Return count of message detected on bus by remote slave.

Parameters
  • data – Data field (0x0000)

  • kwargs

Returns

return_diagnostic_register(data=0, **kwargs)

Read 16-bit diagnostic register.

Parameters
  • data – Data field (0x0000)

  • kwargs

Returns

return_iop_overrun_count(data=0, **kwargs)

Return count of iop overrun errors by remote slave.

Parameters
  • data – Data field (0x0000)

  • kwargs

Returns

return_query_data(message=0, **kwargs)

Loop back data sent in response.

Parameters
  • message – Message to be looped back

  • kwargs

Returns

return_slave_bus_char_overrun_count(data=0, **kwargs)

Return count of messages not handled.

By remote slave due to character overrun condition.

Parameters
  • data – Data field (0x0000)

  • kwargs

Returns

return_slave_busy_count(data=0, **kwargs)

Return count of server busy exceptions sent by remote slave.

Parameters
  • data – Data field (0x0000)

  • kwargs

Returns

return_slave_message_count(data=0, **kwargs)

Return count of messages addressed to remote slave.

Parameters
  • data – Data field (0x0000)

  • kwargs

Returns

return_slave_no_ack_count(data=0, **kwargs)

Return count of NO ACK exceptions sent by remote slave.

Parameters
  • data – Data field (0x0000)

  • kwargs

Returns

return_slave_no_response_count(data=0, **kwargs)

Return count of No responses by remote slave.

Parameters
  • data – Data field (0x0000)

  • kwargs

Returns

write_coil(address, value, slave=0, **kwargs)

Write value to coil at address.

Parameters
  • address – coil offset to write to

  • value – bit value to write

  • slave – Modbus slave unit ID

  • kwargs

Returns

write_coils(address, values, slave=0, **kwargs)

Write value to coil at address.

Parameters
  • address – coil offset to write to

  • values – list of bit values to write (comma separated)

  • slave – Modbus slave unit ID

  • kwargs

Returns

write_register(address, value, slave=0, **kwargs)

Write value to register at address.

Parameters
  • address – register offset to write to

  • value – register value to write

  • slave – Modbus slave unit ID

  • kwargs

Returns

write_registers(address, values, slave=0, **kwargs)

Write list of values to registers starting at address.

Parameters
  • address – register offset to write to

  • values – list of register value to write (comma separated)

  • slave – Modbus slave unit ID

  • kwargs

Returns

class pymodbus.repl.client.mclient.ModbusSerialClient(framer, **kwargs)

Bases: ExtendedRequestSupport, ModbusSerialClient

Modbus serial client.

get_baudrate()

Get serial Port baudrate.

Returns

Current baudrate

get_bytesize()

Get number of data bits.

Returns

Current bytesize

get_parity()

Enable Parity Checking.

Returns

Current parity setting

get_port()

Get serial Port.

Returns

Current Serial port

get_serial_settings()

Get Current Serial port settings.

Returns

Current Serial settings as dict.

get_stopbits()

Get number of stop bits.

Returns

Current Stop bits

get_timeout()

Get serial Port Read timeout.

Returns

Current read imeout.

set_baudrate(value)

Set baudrate setter.

Parameters

value – <supported baudrate>

set_bytesize(value)

Set Byte size.

Parameters

value – Possible values (5, 6, 7, 8)

set_parity(value)

Set parity Setter.

Parameters

value – Possible values (“N”, “E”, “O”, “M”, “S”)

set_port(value)

Set serial Port setter.

Parameters

value – New port

set_stopbits(value)

Set stop bit.

Parameters

value – Possible values (1, 1.5, 2)

set_timeout(value)

Read timeout setter.

Parameters

value – Read Timeout in seconds

class pymodbus.repl.client.mclient.ModbusTcpClient(**kwargs)

Bases: ExtendedRequestSupport, ModbusTcpClient

TCP client.

pymodbus.repl.client.mclient.handle_brodcast(func)

Handle broadcast.

pymodbus.repl.client.mclient.make_response_dict(resp)

Make response dict.