Skip to content

Commit 4bd97fe

Browse files
committed
fix: ensure device serial number and product model are provided when creating Q7PropertiesApi
1 parent 6ac8462 commit 4bd97fe

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

roborock/devices/traits/b01/q7/__init__.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
from roborock.devices.rpc.b01_q7_channel import MapRpcChannel, send_decoded_command
2222
from roborock.devices.traits import Trait
2323
from roborock.devices.transport.mqtt_channel import MqttChannel
24+
from roborock.exceptions import RoborockException
2425
from roborock.protocols.b01_q7_protocol import B01_Q7_DPS, CommandType, ParamsType, Q7RequestMessage, create_map_key
2526
from roborock.roborock_message import RoborockB01Props
2627
from roborock.roborock_typing import RoborockB01Q7Methods
@@ -175,5 +176,9 @@ async def send(self, command: CommandType, params: ParamsType) -> Any:
175176

176177
def create(product: HomeDataProduct, device: HomeDataDevice, channel: MqttChannel) -> Q7PropertiesApi:
177178
"""Create traits for B01 Q7 devices."""
178-
map_rpc_channel = MapRpcChannel(channel, map_key=create_map_key(serial=device.sn or "", model=product.model or ""))
179+
if device.sn is None or product.model is None:
180+
raise RoborockException(
181+
f"Device serial number and product model are required (sn:: {device.sn}, model: {product.model})"
182+
)
183+
map_rpc_channel = MapRpcChannel(channel, map_key=create_map_key(serial=device.sn, model=product.model))
179184
return Q7PropertiesApi(channel, device=device, product=product, map_rpc_channel=map_rpc_channel)

0 commit comments

Comments
 (0)