python-kasa/kasa/interfaces/fan.py

24 lines
542 B
Python
Raw Permalink Normal View History

"""Module for Fan Interface."""
from __future__ import annotations
from abc import ABC, abstractmethod
from typing import Annotated
from ..module import FeatureAttribute, Module
class Fan(Module, ABC):
"""Interface for a Fan."""
@property
@abstractmethod
def fan_speed_level(self) -> Annotated[int, FeatureAttribute()]:
"""Return fan speed level."""
@abstractmethod
async def set_fan_speed_level(
self, level: int
) -> Annotated[dict, FeatureAttribute()]:
"""Set fan speed level."""