Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions doc/source/library/simulator/config.rst
Original file line number Diff line number Diff line change
Expand Up @@ -121,8 +121,8 @@ Server configuration examples
"comm": "tls",
"host": "0.0.0.0",
"port": 5020,
"certfile": "certificates/pymodbus.crt",
"keyfile": "certificates/pymodbus.key",
"certfile": "certificates/pymodbus_tls.crt",
"keyfile": "certificates/pymodbus_tls.key",
"ignore_missing_devices": false,
"framer": "tls",
"identity": {
Expand Down
2 changes: 1 addition & 1 deletion examples/helper.py
Original file line number Diff line number Diff line change
Expand Up @@ -130,4 +130,4 @@ def get_certificate(suffix: str):
path = "examples"
else:
raise RuntimeError(f"**Error** Cannot find certificate path={cwd}")
return f"{path}/certificates/pymodbus.{suffix}"
return f"{path}/certificates/pymodbus_tls.{suffix}"
10 changes: 5 additions & 5 deletions pymodbus/client/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@
"ModbusUdpClient",
]

from pymodbus.client.base import ModbusBaseClient, ModbusBaseSyncClient
from pymodbus.client.serial import AsyncModbusSerialClient, ModbusSerialClient
from pymodbus.client.tcp import AsyncModbusTcpClient, ModbusTcpClient
from pymodbus.client.tls import AsyncModbusTlsClient, ModbusTlsClient
from pymodbus.client.udp import AsyncModbusUdpClient, ModbusUdpClient
from .base import ModbusBaseClient, ModbusBaseSyncClient
from .serial import AsyncModbusSerialClient, ModbusSerialClient
from .tcp import AsyncModbusTcpClient, ModbusTcpClient
from .tls import AsyncModbusTlsClient, ModbusTlsClient
from .udp import AsyncModbusUdpClient, ModbusUdpClient
14 changes: 7 additions & 7 deletions pymodbus/client/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,13 @@
from abc import abstractmethod
from collections.abc import Awaitable, Callable

from pymodbus.client.mixin import ModbusClientMixin
from pymodbus.exceptions import ConnectionException
from pymodbus.framer import FRAMER_NAME_TO_CLASS, FramerBase, FramerType
from pymodbus.logging import Log
from pymodbus.pdu import DecodePDU, ModbusPDU
from pymodbus.transaction import TransactionManager
from pymodbus.transport import CommParams
from ..exceptions import ConnectionException
from ..framer import FRAMER_NAME_TO_CLASS, FramerBase, FramerType
from ..logging import Log
from ..pdu import DecodePDU, ModbusPDU
from ..transaction import TransactionManager
from ..transport import CommParams
from .mixin import ModbusClientMixin


class ModbusBaseClient(ModbusClientMixin[Awaitable[ModbusPDU]]):
Expand Down
18 changes: 9 additions & 9 deletions pymodbus/client/mixin.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,15 @@
from abc import abstractmethod
from typing import Generic, Literal, TypeVar, cast

import pymodbus.pdu.bit_message as pdu_bit
import pymodbus.pdu.diag_message as pdu_diag
import pymodbus.pdu.file_message as pdu_file_msg
import pymodbus.pdu.mei_message as pdu_mei
import pymodbus.pdu.other_message as pdu_other_msg
import pymodbus.pdu.register_message as pdu_reg
from pymodbus.constants import ModbusStatus
from pymodbus.exceptions import ModbusException
from pymodbus.pdu.pdu import ModbusPDU, pack_bitstring, unpack_bitstring
from ..constants import ModbusStatus
from ..exceptions import ModbusException
from ..pdu import bit_message as pdu_bit
from ..pdu import diag_message as pdu_diag
from ..pdu import file_message as pdu_file_msg
from ..pdu import mei_message as pdu_mei
from ..pdu import other_message as pdu_other_msg
from ..pdu import register_message as pdu_reg
from ..pdu.pdu import ModbusPDU, pack_bitstring, unpack_bitstring


T = TypeVar("T", covariant=False)
Expand Down
12 changes: 6 additions & 6 deletions pymodbus/client/serial.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,12 @@
from collections.abc import Callable
from functools import partial

from pymodbus.client.base import ModbusBaseClient, ModbusBaseSyncClient
from pymodbus.exceptions import ConnectionException
from pymodbus.framer import FramerType
from pymodbus.logging import Log
from pymodbus.pdu import ModbusPDU
from pymodbus.transport import CommParams, CommType
from ..exceptions import ConnectionException
from ..framer import FramerType
from ..logging import Log
from ..pdu import ModbusPDU
from ..transport import CommParams, CommType
from .base import ModbusBaseClient, ModbusBaseSyncClient


with contextlib.suppress(ImportError):
Expand Down
12 changes: 6 additions & 6 deletions pymodbus/client/tcp.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,12 @@
from collections.abc import Callable
from ssl import SSLWantReadError

from pymodbus.client.base import ModbusBaseClient, ModbusBaseSyncClient
from pymodbus.exceptions import ConnectionException
from pymodbus.framer import FramerType
from pymodbus.logging import Log
from pymodbus.pdu import ModbusPDU
from pymodbus.transport import CommParams, CommType
from ..exceptions import ConnectionException
from ..framer import FramerType
from ..logging import Log
from ..pdu import ModbusPDU
from ..transport import CommParams, CommType
from .base import ModbusBaseClient, ModbusBaseSyncClient


class AsyncModbusTcpClient(ModbusBaseClient):
Expand Down
10 changes: 5 additions & 5 deletions pymodbus/client/tls.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,11 @@
import ssl
from collections.abc import Callable

from pymodbus.client.tcp import AsyncModbusTcpClient, ModbusTcpClient
from pymodbus.framer import FramerType
from pymodbus.logging import Log
from pymodbus.pdu import ModbusPDU
from pymodbus.transport import CommParams, CommType
from ..framer import FramerType
from ..logging import Log
from ..pdu import ModbusPDU
from ..transport import CommParams, CommType
from .tcp import AsyncModbusTcpClient, ModbusTcpClient


class AsyncModbusTlsClient(AsyncModbusTcpClient):
Expand Down
12 changes: 6 additions & 6 deletions pymodbus/client/udp.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,12 @@
import socket
from collections.abc import Callable

from pymodbus.client.base import ModbusBaseClient, ModbusBaseSyncClient
from pymodbus.exceptions import ConnectionException
from pymodbus.framer import FramerType
from pymodbus.logging import Log
from pymodbus.pdu import ModbusPDU
from pymodbus.transport import CommParams, CommType
from ..exceptions import ConnectionException
from ..framer import FramerType
from ..logging import Log
from ..pdu import ModbusPDU
from ..transport import CommParams, CommType
from .base import ModbusBaseClient, ModbusBaseSyncClient


DGRAM_TYPE = socket.SOCK_DGRAM
Expand Down
7 changes: 3 additions & 4 deletions pymodbus/datastore/context.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,9 @@

from __future__ import annotations

from pymodbus.constants import ExcCodes
from pymodbus.exceptions import NoSuchIdException
from pymodbus.logging import Log

from ..constants import ExcCodes
from ..exceptions import NoSuchIdException
from ..logging import Log
from .sequential import ModbusSequentialDataBlock
from .store import BaseModbusDataBlock

Expand Down
5 changes: 2 additions & 3 deletions pymodbus/datastore/remote.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
"""Remote datastore."""
from pymodbus.exceptions import NotImplementedException
from pymodbus.pdu import ExceptionResponse

from ..exceptions import NotImplementedException
from ..pdu import ExceptionResponse
from .context import ModbusBaseDeviceContext


Expand Down
5 changes: 1 addition & 4 deletions pymodbus/datastore/sequential.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,10 @@
# pylint: disable=missing-type-doc
from __future__ import annotations

from pymodbus.constants import ExcCodes

from ..constants import ExcCodes
from .store import BaseModbusDataBlock


# from pymodbus.pdu.exceptionresponse import ExceptionResponse

class ModbusSequentialDataBlock(BaseModbusDataBlock[list]):
"""Creates a sequential modbus datastore."""

Expand Down
3 changes: 1 addition & 2 deletions pymodbus/datastore/simulator.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,7 @@
from datetime import datetime
from typing import Any

from pymodbus.constants import ExcCodes

from ..constants import ExcCodes
from .context import ModbusBaseDeviceContext


Expand Down
5 changes: 2 additions & 3 deletions pymodbus/datastore/sparse.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,8 @@

from typing import Any

from pymodbus.constants import ExcCodes
from pymodbus.exceptions import ParameterException

from ..constants import ExcCodes
from ..exceptions import ParameterException
from .store import BaseModbusDataBlock


Expand Down
2 changes: 1 addition & 1 deletion pymodbus/datastore/store.py
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@
from abc import ABC, abstractmethod
from typing import Any, Generic, TypeVar

from pymodbus.constants import ExcCodes
from ..constants import ExcCodes


# ---------------------------------------------------------------------------#
Expand Down
10 changes: 5 additions & 5 deletions pymodbus/framer/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,11 @@
"FramerType"
]

from pymodbus.framer.ascii import FramerAscii
from pymodbus.framer.base import FramerBase, FramerType
from pymodbus.framer.rtu import FramerRTU
from pymodbus.framer.socket import FramerSocket
from pymodbus.framer.tls import FramerTLS
from .ascii import FramerAscii
from .base import FramerBase, FramerType
from .rtu import FramerRTU
from .socket import FramerSocket
from .tls import FramerTLS


FRAMER_NAME_TO_CLASS = {
Expand Down
4 changes: 2 additions & 2 deletions pymodbus/framer/ascii.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@

from binascii import a2b_hex, b2a_hex

from pymodbus.framer.base import FramerBase
from pymodbus.logging import Log
from ..logging import Log
from .base import FramerBase


class FramerAscii(FramerBase):
Expand Down
6 changes: 3 additions & 3 deletions pymodbus/framer/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@

from enum import Enum

from pymodbus.exceptions import ModbusIOException
from pymodbus.logging import Log
from pymodbus.pdu import DecodePDU, ModbusPDU
from ..exceptions import ModbusIOException
from ..logging import Log
from ..pdu import DecodePDU, ModbusPDU


class FramerType(str, Enum):
Expand Down
4 changes: 2 additions & 2 deletions pymodbus/framer/rtu.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
"""Modbus RTU frame implementation."""
from __future__ import annotations

from pymodbus.framer.base import FramerBase
from pymodbus.logging import Log
from ..logging import Log
from .base import FramerBase


class FramerRTU(FramerBase):
Expand Down
4 changes: 2 additions & 2 deletions pymodbus/framer/socket.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
"""Modbus Socket frame implementation."""
from __future__ import annotations

from pymodbus.framer.base import FramerBase
from pymodbus.logging import Log
from ..logging import Log
from .base import FramerBase


class FramerSocket(FramerBase):
Expand Down
2 changes: 1 addition & 1 deletion pymodbus/framer/tls.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
"""Modbus TLS frame implementation."""
from __future__ import annotations

from pymodbus.framer.base import FramerBase
from .base import FramerBase


class FramerTLS(FramerBase):
Expand Down
2 changes: 1 addition & 1 deletion pymodbus/logging.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
from binascii import b2a_hex
from logging import NullHandler as __null

from pymodbus.utilities import hexlify_packets
from .utilities import hexlify_packets


# ---------------------------------------------------------------------------#
Expand Down
5 changes: 2 additions & 3 deletions pymodbus/pdu/bit_message.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,8 @@
import struct
from typing import cast

from pymodbus.constants import ExcCodes, ModbusStatus
from pymodbus.datastore import ModbusDeviceContext

from ..constants import ExcCodes, ModbusStatus
from ..datastore import ModbusDeviceContext
from .decoders import DecodePDU
from .exceptionresponse import ExceptionResponse
from .pdu import ModbusPDU, pack_bitstring, unpack_bitstring
Expand Down
8 changes: 3 additions & 5 deletions pymodbus/pdu/decoders.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,8 @@

import copy

from pymodbus.exceptions import MessageRegisterException, ModbusException
from pymodbus.logging import Log

from ..exceptions import MessageRegisterException, ModbusException
from ..logging import Log
from .exceptionresponse import ExceptionResponse
from .pdu import ModbusPDU

Expand Down Expand Up @@ -52,8 +51,7 @@ def register(self, custom_class: type[ModbusPDU]) -> None:
if not issubclass(custom_class, ModbusPDU):
raise MessageRegisterException(
f'"{custom_class.__class__.__name__}" is Not a valid Modbus Message'
". Class needs to be derived from "
"`pymodbus.pdu.ModbusPDU` "
". Class needs to be derived from `ModbusPDU` "
)
if "pdu_table" not in self.__dict__:
self.pdu_table = copy.deepcopy(DecodePDU.pdu_table)
Expand Down
5 changes: 2 additions & 3 deletions pymodbus/pdu/device.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,8 @@
import struct

# pylint: disable=missing-type-doc
from pymodbus.constants import DeviceInformation
from pymodbus.utilities import dict_property

from ..constants import DeviceInformation
from ..utilities import dict_property
from .events import ModbusEvent


Expand Down
5 changes: 2 additions & 3 deletions pymodbus/pdu/diag_message.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,8 @@
import struct
from typing import cast

from pymodbus.constants import ModbusPlusOperation
from pymodbus.datastore import ModbusDeviceContext

from ..constants import ModbusPlusOperation
from ..datastore import ModbusDeviceContext
from .decoders import DecodePDU
from .device import ModbusControlBlock
from .pdu import ModbusPDU, pack_bitstring
Expand Down
3 changes: 1 addition & 2 deletions pymodbus/pdu/events.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,7 @@
# pylint: disable=missing-type-doc
from abc import ABC, abstractmethod

from pymodbus.exceptions import ParameterException

from ..exceptions import ParameterException
from .pdu import pack_bitstring, unpack_bitstring


Expand Down
5 changes: 2 additions & 3 deletions pymodbus/pdu/file_message.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,8 @@
import struct
from dataclasses import dataclass

from pymodbus.datastore import ModbusDeviceContext
from pymodbus.exceptions import ModbusException

from ..datastore import ModbusDeviceContext
from ..exceptions import ModbusException
from .decoders import DecodePDU
from .pdu import ModbusPDU

Expand Down
5 changes: 2 additions & 3 deletions pymodbus/pdu/mei_message.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,8 @@
import struct
from typing import Any

from pymodbus.constants import DeviceInformation, ExcCodes, MoreData
from pymodbus.datastore import ModbusDeviceContext

from ..constants import DeviceInformation, ExcCodes, MoreData
from ..datastore import ModbusDeviceContext
from .decoders import DecodePDU
from .device import DeviceInformationFactory, ModbusControlBlock
from .exceptionresponse import ExceptionResponse
Expand Down
Loading