3737 ROBOROCK_G20S_Ultra ,
3838)
3939from roborock .exceptions import RoborockException
40+ from roborock .roborock_message import RoborockDataProtocol
4041
4142from ..containers import NamedRoomMapping , RoborockBase , RoborockBaseTimer , _attr_repr
4243from .v1_clean_modes import WashTowelModes
@@ -294,11 +295,11 @@ class StatusV2(RoborockBase):
294295
295296 msg_ver : int | None = None
296297 msg_seq : int | None = None
297- state : RoborockStateCode | None = _requires_schema_code ( " state" )
298- battery : int | None = _requires_schema_code ( " battery" )
298+ state : RoborockStateCode | None = field ( default = None , metadata = { "requires_schema_code" : " state", "dps" : RoborockDataProtocol . STATE } )
299+ battery : int | None = field ( default = None , metadata = { "requires_schema_code" : " battery", "dps" : RoborockDataProtocol . BATTERY } )
299300 clean_time : int | None = None
300301 clean_area : int | None = None
301- error_code : RoborockErrorCode | None = _requires_schema_code ( " error_code" )
302+ error_code : RoborockErrorCode | None = field ( default = None , metadata = { "requires_schema_code" : " error_code", "dps" : RoborockDataProtocol . ERROR_CODE } )
302303 map_present : int | None = None
303304 in_cleaning : RoborockInCleaning | None = None
304305 in_returning : int | None = None
@@ -308,12 +309,12 @@ class StatusV2(RoborockBase):
308309 back_type : int | None = None
309310 wash_phase : int | None = None
310311 wash_ready : int | None = None
311- fan_power : int | None = _requires_schema_code ( " fan_power" )
312+ fan_power : int | None = field ( default = None , metadata = { "requires_schema_code" : " fan_power", "dps" : RoborockDataProtocol . FAN_POWER } )
312313 dnd_enabled : int | None = None
313314 map_status : int | None = None
314315 is_locating : int | None = None
315316 lock_status : int | None = None
316- water_box_mode : int | None = _requires_schema_code ( " water_box_mode" )
317+ water_box_mode : int | None = field ( default = None , metadata = { "requires_schema_code" : " water_box_mode", "dps" : RoborockDataProtocol . WATER_BOX_MODE } )
317318 water_box_carriage_status : int | None = None
318319 mop_forbidden_enable : int | None = None
319320 camera_status : int | None = None
@@ -330,14 +331,14 @@ class StatusV2(RoborockBase):
330331 debug_mode : int | None = None
331332 collision_avoid_status : int | None = None
332333 switch_map_mode : int | None = None
333- dock_error_status : RoborockDockErrorCode | None = _requires_schema_code ( " dock_error_status" )
334- charge_status : int | None = _requires_schema_code ( " charge_status" )
334+ dock_error_status : RoborockDockErrorCode | None = field ( default = None , metadata = { "requires_schema_code" : " dock_error_status"} )
335+ charge_status : int | None = field ( default = None , metadata = { "requires_schema_code" : " charge_status", "dps" : RoborockDataProtocol . CHARGE_STATUS } )
335336 unsave_map_reason : int | None = None
336337 unsave_map_flag : int | None = None
337338 wash_status : int | None = None
338339 distance_off : int | None = None
339340 in_warmup : int | None = None
340- dry_status : int | None = _requires_schema_code ( " drying_status" )
341+ dry_status : int | None = field ( default = None , metadata = { "requires_schema_code" : " drying_status", "dps" : RoborockDataProtocol . DRYING_STATUS } )
341342 rdt : int | None = None
342343 clean_percent : int | None = None
343344 rss : int | None = None
@@ -643,9 +644,9 @@ class ConsumableField(FieldNameBase):
643644
644645@dataclass
645646class Consumable (RoborockBase ):
646- main_brush_work_time : int | None = field (metadata = {"requires_schema_code" : "main_brush_life" }, default = None )
647- side_brush_work_time : int | None = field (metadata = {"requires_schema_code" : "side_brush_life" }, default = None )
648- filter_work_time : int | None = field (metadata = {"requires_schema_code" : "filter_life" }, default = None )
647+ main_brush_work_time : int | None = field (default = None , metadata = {"requires_schema_code" : "main_brush_life" , "dps" : RoborockDataProtocol . MAIN_BRUSH_WORK_TIME } )
648+ side_brush_work_time : int | None = field (default = None , metadata = {"requires_schema_code" : "side_brush_life" , "dps" : RoborockDataProtocol . SIDE_BRUSH_WORK_TIME } )
649+ filter_work_time : int | None = field (default = None , metadata = {"requires_schema_code" : "filter_life" , "dps" : RoborockDataProtocol . FILTER_WORK_TIME } )
649650 filter_element_work_time : int | None = None
650651 sensor_dirty_time : int | None = None
651652 strainer_work_times : int | None = None
0 commit comments