Source code for aiohomeconnect.model.appliance
"""Provide appliance models for the Home Connect API."""
from __future__ import annotations
from dataclasses import dataclass, field
from enum import StrEnum
from mashumaro import field_options
from mashumaro.mixins.json import DataClassJSONMixin
[docs]
class ApplianceType(StrEnum):
"""Represent an appliance type."""
AIR_CONDITIONER = "AirConditioner"
CLEANING_ROBOT = "CleaningRobot"
COFFEE_MAKER = "CoffeeMaker"
COOK_PROCESSOR = "CookProcessor"
COOKTOP = "Cooktop"
DISHWASHER = "Dishwasher"
DRYER = "Dryer"
FREEZER = "Freezer"
FRIDGE_FREEZER = "FridgeFreezer"
HOOD = "Hood"
MICROWAVE = "Microwave"
OVEN = "Oven"
REFRIGERATOR = "Refrigerator"
WARMING_DRAWER = "WarmingDrawer"
WASHER = "Washer"
WASHER_DRYER = "WasherDryer"
WINE_COOLER = "WineCooler"
[docs]
@dataclass
class HomeAppliance(DataClassJSONMixin):
"""Represent HomeAppliance."""
ha_id: str = field(metadata=field_options(alias="haId"))
name: str
type: str
brand: str
vib: str
e_number: str = field(metadata=field_options(alias="enumber"))
connected: bool
[docs]
@dataclass
class ArrayOfHomeAppliances(DataClassJSONMixin):
"""Object containing an array of home appliances."""
homeappliances: list[HomeAppliance]