Skip to content

Commit 0a9d23e

Browse files
authored
Call on_reconnect_callback. (#1959)
1 parent 66af5b6 commit 0a9d23e

File tree

2 files changed

+4
-1
lines changed

2 files changed

+4
-1
lines changed

pymodbus/client/base.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -346,6 +346,7 @@ def __init__( # pylint: disable=too-many-arguments
346346
parity=kwargs.get("parity", None),
347347
stopbits=kwargs.get("stopbits", None),
348348
handle_local_echo=kwargs.get("handle_local_echo", False),
349+
on_reconnect_callback = on_reconnect_callback,
349350
),
350351
False,
351352
)
@@ -355,7 +356,6 @@ def __init__( # pylint: disable=too-many-arguments
355356
self.params.close_comm_on_error = bool(close_comm_on_error)
356357
self.params.strict = bool(strict)
357358
self.params.broadcast_enable = bool(broadcast_enable)
358-
self.on_reconnect_callback = on_reconnect_callback
359359
self.retry_on_empty: int = 0
360360
self.no_resend_on_retry = no_resend_on_retry
361361
self.slaves: list[int] = []

pymodbus/transport/transport.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,7 @@ class CommParams:
8585
port: int = 0
8686
source_address: tuple[str, int] | None = None
8787
handle_local_echo: bool = False
88+
on_reconnect_callback: Callable[[], None] | None = None
8889

8990
# tls
9091
sslctx: ssl.SSLContext | None = None
@@ -467,6 +468,8 @@ async def do_reconnect(self) -> None:
467468
self.reconnect_delay_current * 1000,
468469
)
469470
await asyncio.sleep(self.reconnect_delay_current)
471+
if self.comm_params.on_reconnect_callback:
472+
self.comm_params.on_reconnect_callback()
470473
if await self.transport_connect():
471474
break
472475
self.reconnect_delay_current = min(

0 commit comments

Comments
 (0)