|
3 | 3 | import datetime |
4 | 4 | import logging |
5 | 5 | import re |
6 | | -from dataclasses import asdict, dataclass |
| 6 | +from dataclasses import asdict, dataclass, field |
7 | 7 | from datetime import timezone |
8 | 8 | from enum import Enum |
9 | 9 | from typing import Any, NamedTuple |
@@ -168,10 +168,10 @@ class HomeDataProductSchema(RoborockBase): |
168 | 168 |
|
169 | 169 | @dataclass |
170 | 170 | class HomeDataProduct(RoborockBase): |
171 | | - id: str | None = None |
172 | | - name: str | None = None |
| 171 | + id: str |
| 172 | + name: str |
| 173 | + model: str |
173 | 174 | code: str | None = None |
174 | | - model: str | None = None |
175 | 175 | iconurl: str | None = None |
176 | 176 | attribute: Any | None = None |
177 | 177 | capability: int | None = None |
@@ -216,14 +216,14 @@ class HomeDataRoom(RoborockBase): |
216 | 216 |
|
217 | 217 | @dataclass |
218 | 218 | class HomeData(RoborockBase): |
219 | | - id: int | None = None |
220 | | - name: str | None = None |
| 219 | + id: int |
| 220 | + name: str |
| 221 | + products: list[HomeDataProduct] = field(default_factory=lambda: []) |
| 222 | + devices: list[HomeDataDevice] = field(default_factory=lambda: []) |
| 223 | + received_devices: list[HomeDataDevice] = field(default_factory=lambda: []) |
221 | 224 | lon: Any | None = None |
222 | 225 | lat: Any | None = None |
223 | 226 | geo_name: Any | None = None |
224 | | - products: list[HomeDataProduct] | None = None |
225 | | - devices: list[HomeDataDevice] | None = None |
226 | | - received_devices: list[HomeDataDevice] | None = None |
227 | 227 | rooms: list[HomeDataRoom] | None = None |
228 | 228 |
|
229 | 229 | def get_all_devices(self) -> list[HomeDataDevice]: |
|
0 commit comments