@@ -150,7 +150,7 @@ class RoborockClientV1(RoborockClient, ABC):
150150 """Roborock client base class for version 1 devices."""
151151
152152 _listeners : dict [str , ListenerModel ] = {}
153- _map_response_decoder : Callable [[RoborockMessage ], MapResponse ] | None = None
153+ _map_response_decoder : Callable [[RoborockMessage ], MapResponse | None ] | None = None
154154
155155 def __init__ (self , device_info : DeviceData , security_data : SecurityData | None ) -> None :
156156 """Initializes the Roborock client."""
@@ -439,13 +439,14 @@ def on_message_received(self, messages: list[RoborockMessage]) -> None:
439439 elif data .payload and protocol == RoborockMessageProtocol .MAP_RESPONSE :
440440 if self ._map_response_decoder is not None :
441441 map_response = self ._map_response_decoder (data )
442- queue = self ._waiting_queue .get (map_response .request_id )
443- if queue :
444- queue .set_result (map_response .data )
445- else :
446- self ._logger .debug (
447- "Received unsolicited map response for request_id %s" , map_response .request_id
448- )
442+ if map_response is not None :
443+ queue = self ._waiting_queue .get (map_response .request_id )
444+ if queue :
445+ queue .set_result (map_response .data )
446+ else :
447+ self ._logger .debug (
448+ "Received unsolicited map response for request_id %s" , map_response .request_id
449+ )
449450 else :
450451 queue = self ._waiting_queue .get (data .seq )
451452 if queue :
0 commit comments