Source code for aioafero.v1.models.exhaust_fan
"""Representation of an Afero Exhaust Fan and its corresponding updates."""
from dataclasses import dataclass, field
from aioafero.v1.models import features
from .resource import ResourceTypes
from .standard_mixin import StandardMixin
[docs]
@dataclass(kw_only=True)
class ExhaustFan(StandardMixin):
"""Representation of an Afero Exhaust Fan."""
type: ResourceTypes = ResourceTypes.EXHAUST_FAN
[docs]
@dataclass
class ExhaustFanPut:
"""States that can be updated for an exhaust fan."""
numbers: dict[tuple[str, str | None], features.NumbersFeature] | None = field(
default_factory=dict, repr=False, init=False
)
selects: dict[tuple[str, str | None], features.SelectFeature] | None = field(
default_factory=dict, repr=False, init=False
)