Skip to content

Commit f7f5e2f

Browse files
committed
Fix freezing on disconnection
1 parent 8cc2a2f commit f7f5e2f

File tree

2 files changed

+6
-2
lines changed

2 files changed

+6
-2
lines changed

qtoggleserver/modbus/client.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,8 @@ def _try_merge_address_length(
9090
else: # address2, address1, end1, end2
9191
return address2, end2 - address2
9292

93+
return None
94+
9395
async def ensure_client(self) -> bool:
9496
if self._pymodbus_client and self._pymodbus_client.connected:
9597
return True
@@ -102,7 +104,9 @@ async def ensure_client(self) -> bool:
102104
self.debug('waiting %d seconds for initial delay', self.initial_delay)
103105
await asyncio.sleep(self.initial_delay)
104106

105-
while not self._pymodbus_client.connected:
107+
for _ in range(self.timeout * 10):
108+
if self._pymodbus_client.connected:
109+
break
106110
await asyncio.sleep(0.1)
107111

108112
if not self._pymodbus_client.connected:

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,6 @@
1212
packages=find_namespace_packages(),
1313

1414
install_requires=[
15-
'pymodbus>=3.6',
15+
'pymodbus>=3.6,<3.7',
1616
]
1717
)

0 commit comments

Comments
 (0)