@@ -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