@@ -115,12 +115,16 @@ class StatusField(FieldNameBase):
115115 DRY_STATUS = "dry_status"
116116
117117
118+ def _requires_schema_code (requires_schema_code : str , default = None ) -> Any :
119+ return field (metadata = {"requires_schema_code" : requires_schema_code }, default = default )
120+
121+
118122@dataclass
119123class Status (RoborockBase ):
120124 msg_ver : int | None = None
121125 msg_seq : int | None = None
122- state : RoborockStateCode | None = field ( metadata = { "requires_schema_code" : " state"} , default = None )
123- battery : int | None = field ( metadata = { "requires_schema_code" : " battery"} , default = None )
126+ state : RoborockStateCode | None = _requires_schema_code ( " state" , default = None )
127+ battery : int | None = _requires_schema_code ( " battery" , default = None )
124128 clean_time : int | None = None
125129 clean_area : int | None = None
126130 error_code : RoborockErrorCode | None = None
@@ -133,14 +137,12 @@ class Status(RoborockBase):
133137 back_type : int | None = None
134138 wash_phase : int | None = None
135139 wash_ready : int | None = None
136- fan_power : RoborockFanPowerCode | None = field ( metadata = { "requires_schema_code" : " fan_power"} , default = None )
140+ fan_power : RoborockFanPowerCode | None = _requires_schema_code ( " fan_power" , default = None )
137141 dnd_enabled : int | None = None
138142 map_status : int | None = None
139143 is_locating : int | None = None
140144 lock_status : int | None = None
141- water_box_mode : RoborockMopIntensityCode | None = field (
142- metadata = {"requires_schema_code" : "water_box_mode" }, default = None
143- )
145+ water_box_mode : RoborockMopIntensityCode | None = _requires_schema_code ("water_box_mode" , default = None )
144146 water_box_carriage_status : int | None = None
145147 mop_forbidden_enable : int | None = None
146148 camera_status : int | None = None
@@ -158,13 +160,13 @@ class Status(RoborockBase):
158160 collision_avoid_status : int | None = None
159161 switch_map_mode : int | None = None
160162 dock_error_status : RoborockDockErrorCode | None = None
161- charge_status : int | None = field ( metadata = { "requires_schema_code" : " charge_status"} , default = None )
163+ charge_status : int | None = _requires_schema_code ( " charge_status" , default = None )
162164 unsave_map_reason : int | None = None
163165 unsave_map_flag : int | None = None
164166 wash_status : int | None = None
165167 distance_off : int | None = None
166168 in_warmup : int | None = None
167- dry_status : int | None = field ( metadata = { "requires_schema_code" : " drying_status"} , default = None )
169+ dry_status : int | None = _requires_schema_code ( " drying_status" , default = None )
168170 rdt : int | None = None
169171 clean_percent : int | None = None
170172 rss : int | None = None
0 commit comments