mirror of
https://github.com/home-assistant/core.git
synced 2025-07-22 12:47:08 +00:00
Add additional switch for dmaker.airfresh.a1/t2017 to xiaomi_miio (#67033)
* Add additional switch for dmaker.airfresh.a1/t2017 to xiaomi_miio - Auxiliary heat switch - Display switch * Auxiliary heat => Auxiliary Heat Co-authored-by: Maciej Bieniek <bieniu@users.noreply.github.com> Co-authored-by: Maciej Bieniek <bieniu@users.noreply.github.com>
This commit is contained in:
parent
741b010f8f
commit
0515a8bd2d
@ -315,6 +315,8 @@ FEATURE_SET_DELAY_OFF_COUNTDOWN = 65536
|
||||
FEATURE_SET_LED_BRIGHTNESS_LEVEL = 131072
|
||||
FEATURE_SET_FAVORITE_RPM = 262144
|
||||
FEATURE_SET_IONIZER = 524288
|
||||
FEATURE_SET_DISPLAY = 1048576
|
||||
FEATURE_SET_PTC = 2097152
|
||||
|
||||
FEATURE_FLAGS_AIRPURIFIER_MIIO = (
|
||||
FEATURE_SET_BUZZER
|
||||
@ -387,7 +389,9 @@ FEATURE_FLAGS_AIRHUMIDIFIER_CA4 = (
|
||||
| FEATURE_SET_CLEAN
|
||||
)
|
||||
|
||||
FEATURE_FLAGS_AIRFRESH_A1 = FEATURE_SET_BUZZER | FEATURE_SET_CHILD_LOCK
|
||||
FEATURE_FLAGS_AIRFRESH_A1 = (
|
||||
FEATURE_SET_BUZZER | FEATURE_SET_CHILD_LOCK | FEATURE_SET_DISPLAY | FEATURE_SET_PTC
|
||||
)
|
||||
|
||||
FEATURE_FLAGS_AIRFRESH = (
|
||||
FEATURE_SET_BUZZER
|
||||
@ -398,7 +402,9 @@ FEATURE_FLAGS_AIRFRESH = (
|
||||
| FEATURE_SET_EXTRA_FEATURES
|
||||
)
|
||||
|
||||
FEATURE_FLAGS_AIRFRESH_T2017 = FEATURE_SET_BUZZER | FEATURE_SET_CHILD_LOCK
|
||||
FEATURE_FLAGS_AIRFRESH_T2017 = (
|
||||
FEATURE_SET_BUZZER | FEATURE_SET_CHILD_LOCK | FEATURE_SET_DISPLAY | FEATURE_SET_PTC
|
||||
)
|
||||
|
||||
FEATURE_FLAGS_FAN_P5 = (
|
||||
FEATURE_SET_BUZZER
|
||||
|
@ -59,10 +59,12 @@ from .const import (
|
||||
FEATURE_SET_BUZZER,
|
||||
FEATURE_SET_CHILD_LOCK,
|
||||
FEATURE_SET_CLEAN,
|
||||
FEATURE_SET_DISPLAY,
|
||||
FEATURE_SET_DRY,
|
||||
FEATURE_SET_IONIZER,
|
||||
FEATURE_SET_LEARN_MODE,
|
||||
FEATURE_SET_LED,
|
||||
FEATURE_SET_PTC,
|
||||
KEY_COORDINATOR,
|
||||
KEY_DEVICE,
|
||||
MODEL_AIRFRESH_A1,
|
||||
@ -121,6 +123,7 @@ ATTR_AUTO_DETECT = "auto_detect"
|
||||
ATTR_BUZZER = "buzzer"
|
||||
ATTR_CHILD_LOCK = "child_lock"
|
||||
ATTR_CLEAN = "clean_mode"
|
||||
ATTR_DISPLAY = "display"
|
||||
ATTR_DRY = "dry"
|
||||
ATTR_LEARN_MODE = "learn_mode"
|
||||
ATTR_LED = "led"
|
||||
@ -131,6 +134,7 @@ ATTR_POWER = "power"
|
||||
ATTR_POWER_MODE = "power_mode"
|
||||
ATTR_POWER_PRICE = "power_price"
|
||||
ATTR_PRICE = "price"
|
||||
ATTR_PTC = "ptc"
|
||||
ATTR_WIFI_LED = "wifi_led"
|
||||
|
||||
FEATURE_SET_POWER_MODE = 1
|
||||
@ -225,6 +229,15 @@ SWITCH_TYPES = (
|
||||
method_off="async_set_child_lock_off",
|
||||
entity_category=EntityCategory.CONFIG,
|
||||
),
|
||||
XiaomiMiioSwitchDescription(
|
||||
key=ATTR_DISPLAY,
|
||||
feature=FEATURE_SET_DISPLAY,
|
||||
name="Display",
|
||||
icon="mdi:led-outline",
|
||||
method_on="async_set_display_on",
|
||||
method_off="async_set_display_off",
|
||||
entity_category=EntityCategory.CONFIG,
|
||||
),
|
||||
XiaomiMiioSwitchDescription(
|
||||
key=ATTR_DRY,
|
||||
feature=FEATURE_SET_DRY,
|
||||
@ -279,6 +292,15 @@ SWITCH_TYPES = (
|
||||
method_off="async_set_ionizer_off",
|
||||
entity_category=EntityCategory.CONFIG,
|
||||
),
|
||||
XiaomiMiioSwitchDescription(
|
||||
key=ATTR_PTC,
|
||||
feature=FEATURE_SET_PTC,
|
||||
name="Auxiliary Heat",
|
||||
icon="mdi:radiator",
|
||||
method_on="async_set_ptc_on",
|
||||
method_off="async_set_ptc_off",
|
||||
entity_category=EntityCategory.CONFIG,
|
||||
),
|
||||
)
|
||||
|
||||
|
||||
@ -533,6 +555,22 @@ class XiaomiGenericCoordinatedSwitch(XiaomiCoordinatedMiioEntity, SwitchEntity):
|
||||
False,
|
||||
)
|
||||
|
||||
async def async_set_display_on(self) -> bool:
|
||||
"""Turn the display on."""
|
||||
return await self._try_command(
|
||||
"Turning the display of the miio device on failed.",
|
||||
self._device.set_display,
|
||||
True,
|
||||
)
|
||||
|
||||
async def async_set_display_off(self) -> bool:
|
||||
"""Turn the display off."""
|
||||
return await self._try_command(
|
||||
"Turning the display of the miio device off failed.",
|
||||
self._device.set_display,
|
||||
False,
|
||||
)
|
||||
|
||||
async def async_set_dry_on(self) -> bool:
|
||||
"""Turn the dry mode on."""
|
||||
return await self._try_command(
|
||||
@ -629,6 +667,22 @@ class XiaomiGenericCoordinatedSwitch(XiaomiCoordinatedMiioEntity, SwitchEntity):
|
||||
False,
|
||||
)
|
||||
|
||||
async def async_set_ptc_on(self) -> bool:
|
||||
"""Turn ionizer on."""
|
||||
return await self._try_command(
|
||||
"Turning ionizer of the miio device on failed.",
|
||||
self._device.set_ptc,
|
||||
True,
|
||||
)
|
||||
|
||||
async def async_set_ptc_off(self) -> bool:
|
||||
"""Turn ionizer off."""
|
||||
return await self._try_command(
|
||||
"Turning ionizer of the miio device off failed.",
|
||||
self._device.set_ptc,
|
||||
False,
|
||||
)
|
||||
|
||||
|
||||
class XiaomiGatewaySwitch(XiaomiGatewayDevice, SwitchEntity):
|
||||
"""Representation of a XiaomiGatewaySwitch."""
|
||||
|
Loading…
x
Reference in New Issue
Block a user