mirror of
https://github.com/home-assistant/core.git
synced 2025-07-19 11:17:21 +00:00
Add support for Levoit EverestAir air purifiers (#123428)
This commit is contained in:
parent
a4fb4e76cb
commit
69843e9ac4
@ -23,6 +23,7 @@ DEV_TYPE_TO_HA = {
|
|||||||
"Core300S": "fan",
|
"Core300S": "fan",
|
||||||
"Core400S": "fan",
|
"Core400S": "fan",
|
||||||
"Core600S": "fan",
|
"Core600S": "fan",
|
||||||
|
"EverestAir": "fan",
|
||||||
"Vital200S": "fan",
|
"Vital200S": "fan",
|
||||||
"Vital100S": "fan",
|
"Vital100S": "fan",
|
||||||
"ESD16": "walldimmer",
|
"ESD16": "walldimmer",
|
||||||
@ -60,4 +61,9 @@ SKU_TO_BASE_DEVICE = {
|
|||||||
"LAP-V102S-AASR": "Vital100S", # Alt ID Model Vital100S
|
"LAP-V102S-AASR": "Vital100S", # Alt ID Model Vital100S
|
||||||
"LAP-V102S-WEU": "Vital100S", # Alt ID Model Vital100S
|
"LAP-V102S-WEU": "Vital100S", # Alt ID Model Vital100S
|
||||||
"LAP-V102S-WUK": "Vital100S", # Alt ID Model Vital100S
|
"LAP-V102S-WUK": "Vital100S", # Alt ID Model Vital100S
|
||||||
|
"EverestAir": "EverestAir",
|
||||||
|
"LAP-EL551S-AUS": "EverestAir", # Alt ID Model EverestAir
|
||||||
|
"LAP-EL551S-AEUR": "EverestAir", # Alt ID Model EverestAir
|
||||||
|
"LAP-EL551S-WEU": "EverestAir", # Alt ID Model EverestAir
|
||||||
|
"LAP-EL551S-WUS": "EverestAir", # Alt ID Model EverestAir
|
||||||
}
|
}
|
||||||
|
@ -25,6 +25,7 @@ _LOGGER = logging.getLogger(__name__)
|
|||||||
FAN_MODE_AUTO = "auto"
|
FAN_MODE_AUTO = "auto"
|
||||||
FAN_MODE_SLEEP = "sleep"
|
FAN_MODE_SLEEP = "sleep"
|
||||||
FAN_MODE_PET = "pet"
|
FAN_MODE_PET = "pet"
|
||||||
|
FAN_MODE_TURBO = "turbo"
|
||||||
|
|
||||||
PRESET_MODES = {
|
PRESET_MODES = {
|
||||||
"LV-PUR131S": [FAN_MODE_AUTO, FAN_MODE_SLEEP],
|
"LV-PUR131S": [FAN_MODE_AUTO, FAN_MODE_SLEEP],
|
||||||
@ -32,6 +33,7 @@ PRESET_MODES = {
|
|||||||
"Core300S": [FAN_MODE_AUTO, FAN_MODE_SLEEP],
|
"Core300S": [FAN_MODE_AUTO, FAN_MODE_SLEEP],
|
||||||
"Core400S": [FAN_MODE_AUTO, FAN_MODE_SLEEP],
|
"Core400S": [FAN_MODE_AUTO, FAN_MODE_SLEEP],
|
||||||
"Core600S": [FAN_MODE_AUTO, FAN_MODE_SLEEP],
|
"Core600S": [FAN_MODE_AUTO, FAN_MODE_SLEEP],
|
||||||
|
"EverestAir": [FAN_MODE_AUTO, FAN_MODE_SLEEP, FAN_MODE_TURBO],
|
||||||
"Vital200S": [FAN_MODE_AUTO, FAN_MODE_SLEEP, FAN_MODE_PET],
|
"Vital200S": [FAN_MODE_AUTO, FAN_MODE_SLEEP, FAN_MODE_PET],
|
||||||
"Vital100S": [FAN_MODE_AUTO, FAN_MODE_SLEEP, FAN_MODE_PET],
|
"Vital100S": [FAN_MODE_AUTO, FAN_MODE_SLEEP, FAN_MODE_PET],
|
||||||
}
|
}
|
||||||
@ -41,6 +43,7 @@ SPEED_RANGE = { # off is not included
|
|||||||
"Core300S": (1, 3),
|
"Core300S": (1, 3),
|
||||||
"Core400S": (1, 4),
|
"Core400S": (1, 4),
|
||||||
"Core600S": (1, 4),
|
"Core600S": (1, 4),
|
||||||
|
"EverestAir": (1, 3),
|
||||||
"Vital200S": (1, 4),
|
"Vital200S": (1, 4),
|
||||||
"Vital100S": (1, 4),
|
"Vital100S": (1, 4),
|
||||||
}
|
}
|
||||||
@ -125,7 +128,7 @@ class VeSyncFanHA(VeSyncDevice, FanEntity):
|
|||||||
@property
|
@property
|
||||||
def preset_mode(self) -> str | None:
|
def preset_mode(self) -> str | None:
|
||||||
"""Get the current preset mode."""
|
"""Get the current preset mode."""
|
||||||
if self.smartfan.mode in (FAN_MODE_AUTO, FAN_MODE_SLEEP):
|
if self.smartfan.mode in (FAN_MODE_AUTO, FAN_MODE_SLEEP, FAN_MODE_TURBO):
|
||||||
return self.smartfan.mode
|
return self.smartfan.mode
|
||||||
return None
|
return None
|
||||||
|
|
||||||
@ -192,6 +195,8 @@ class VeSyncFanHA(VeSyncDevice, FanEntity):
|
|||||||
self.smartfan.sleep_mode()
|
self.smartfan.sleep_mode()
|
||||||
elif preset_mode == FAN_MODE_PET:
|
elif preset_mode == FAN_MODE_PET:
|
||||||
self.smartfan.pet_mode()
|
self.smartfan.pet_mode()
|
||||||
|
elif preset_mode == FAN_MODE_TURBO:
|
||||||
|
self.smartfan.turbo_mode()
|
||||||
|
|
||||||
self.schedule_update_ha_state()
|
self.schedule_update_ha_state()
|
||||||
|
|
||||||
|
@ -72,6 +72,7 @@ FILTER_LIFE_SUPPORTED = [
|
|||||||
"Core300S",
|
"Core300S",
|
||||||
"Core400S",
|
"Core400S",
|
||||||
"Core600S",
|
"Core600S",
|
||||||
|
"EverestAir",
|
||||||
"Vital100S",
|
"Vital100S",
|
||||||
"Vital200S",
|
"Vital200S",
|
||||||
]
|
]
|
||||||
@ -83,7 +84,14 @@ AIR_QUALITY_SUPPORTED = [
|
|||||||
"Vital100S",
|
"Vital100S",
|
||||||
"Vital200S",
|
"Vital200S",
|
||||||
]
|
]
|
||||||
PM25_SUPPORTED = ["Core300S", "Core400S", "Core600S", "Vital100S", "Vital200S"]
|
PM25_SUPPORTED = [
|
||||||
|
"Core300S",
|
||||||
|
"Core400S",
|
||||||
|
"Core600S",
|
||||||
|
"EverestAir",
|
||||||
|
"Vital100S",
|
||||||
|
"Vital200S",
|
||||||
|
]
|
||||||
|
|
||||||
SENSORS: tuple[VeSyncSensorEntityDescription, ...] = (
|
SENSORS: tuple[VeSyncSensorEntityDescription, ...] = (
|
||||||
VeSyncSensorEntityDescription(
|
VeSyncSensorEntityDescription(
|
||||||
|
Loading…
x
Reference in New Issue
Block a user