Skip to content

Commit d813262

Browse files
committed
Adapt connection-sender for no response expected
1 parent 5e2da5d commit d813262

File tree

1 file changed

+15
-6
lines changed

1 file changed

+15
-6
lines changed

plugwise_usb/connection/sender.py

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,10 @@ async def write_request_to_port(self, request: PlugwiseRequest) -> None:
8181
serialized_data = request.serialize()
8282
_LOGGER.debug("write_request_to_port | Write %s to port as %s", request, serialized_data)
8383
self._transport.write(serialized_data)
84-
request.start_response_timeout()
84+
# Don't timeout when no response expected
85+
if not request.no_response:
86+
request.start_response_timeout()
87+
8588
# Wait for USB stick to accept request
8689
try:
8790
async with timeout(STICK_TIME_OUT):
@@ -113,11 +116,17 @@ async def write_request_to_port(self, request: PlugwiseRequest) -> None:
113116
)
114117
else:
115118
request.seq_id = response.seq_id
116-
await request.subscribe_to_response(
117-
self._receiver.subscribe_to_stick_responses,
118-
self._receiver.subscribe_to_node_responses,
119-
)
120-
_LOGGER.debug("write_request_to_port | request has subscribed : %s", request)
119+
if request.no_response:
120+
await request.subscribe_to_response(
121+
self._receiver.subscribe_to_stick_responses,
122+
None,
123+
)
124+
else:
125+
await request.subscribe_to_response(
126+
self._receiver.subscribe_to_stick_responses,
127+
self._receiver.subscribe_to_node_responses,
128+
)
129+
_LOGGER.debug("write_request_to_port | request has subscribed : %s", request)
121130
elif response.response_type == StickResponseType.TIMEOUT:
122131
_LOGGER.warning(
123132
"USB-Stick directly responded with communication timeout for %s",

0 commit comments

Comments
 (0)