1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83
|
from dataclasses import dataclass
from mashumaro import DataClassDictMixin
from mashumaro.config import BaseConfig
@dataclass
class HuumStatus(DataClassDictMixin):
code: int
text: str
@dataclass
class HuumConfig(DataClassDictMixin):
code: int
text: str
@dataclass
class HuumSteamerError(DataClassDictMixin):
code: int
text: str
@dataclass
class SaunaConfig(DataClassDictMixin):
child_lock: str
max_heating_time: int
min_heating_time: int
max_temp: int
min_temp: int
max_timer: int
min_timer: int
class Config(BaseConfig):
aliases = {
"child_lock": "childLock",
"max_heating_time": "maxHeatingTime",
"min_heating_time": "minHeatingTime",
"max_temp": "maxTemp",
"min_temp": "minTemp",
"max_timer": "maxTimer",
"min_timer": "minTimer",
}
@dataclass
class HuumStatusResponse(DataClassDictMixin):
status: int
door_closed: bool
temperature: int
sauna_name: str
target_temperature: int | None = None
start_date: int | None = None
end_date: int | None = None
duration: int | None = None
config: int | None = None
steamer_error: int | None = None
payment_end_date: str | None = None
is_private: bool | None = None
show_modal: bool | None = None
light: int | None = None
target_humidity: int | None = None
humidity: int | None = None
remote_safety_state: str | None = None
sauna_config: SaunaConfig | None = None
class Config(BaseConfig):
aliases = {
"status": "statusCode",
"door_closed": "door",
"target_temperature": "targetTemperature",
"start_date": "startDate",
"end_date": "endDate",
"steamer_error": "steamerError",
"payment_end_date": "paymentEndDate",
"is_private": "isPrivate",
"show_modal": "showModal",
"target_humidity": "targetHumidity",
"remote_safety_state": "remoteSafetyState",
"sauna_config": "saunaConfig",
"sauna_name": "saunaName",
}
|