evaporative_humidifier.py 831 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. from __future__ import annotations
  2. from enum import Enum
  3. class HumidifierMode(Enum):
  4. HIGH = 1
  5. MEDIUM = 2
  6. LOW = 3
  7. QUIET = 4
  8. TARGET_HUMIDITY = 5
  9. SLEEP = 6
  10. AUTO = 7
  11. DRYING_FILTER = 8
  12. @classmethod
  13. def get_modes(cls) -> list[str]:
  14. return [mode.name.lower() for mode in cls]
  15. class HumidifierWaterLevel(Enum):
  16. EMPTY = 0
  17. LOW = 1
  18. MEDIUM = 2
  19. HIGH = 3
  20. @classmethod
  21. def get_levels(cls) -> list[str]:
  22. return [level.name.lower() for level in cls]
  23. class HumidifierAction(Enum):
  24. OFF = 0
  25. HUMIDIFYING = 1
  26. DRYING = 2
  27. OVER_HUMIDIFY_PROTECTION_MODES = {
  28. HumidifierMode.QUIET,
  29. HumidifierMode.LOW,
  30. HumidifierMode.MEDIUM,
  31. HumidifierMode.HIGH,
  32. }
  33. TARGET_HUMIDITY_MODES = {
  34. HumidifierMode.SLEEP,
  35. HumidifierMode.TARGET_HUMIDITY,
  36. }