mirror of
https://github.com/home-assistant/core.git
synced 2025-07-23 21:27:38 +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_LED_BRIGHTNESS_LEVEL = 131072
|
||||||
FEATURE_SET_FAVORITE_RPM = 262144
|
FEATURE_SET_FAVORITE_RPM = 262144
|
||||||
FEATURE_SET_IONIZER = 524288
|
FEATURE_SET_IONIZER = 524288
|
||||||
|
FEATURE_SET_DISPLAY = 1048576
|
||||||
|
FEATURE_SET_PTC = 2097152
|
||||||
|
|
||||||
FEATURE_FLAGS_AIRPURIFIER_MIIO = (
|
FEATURE_FLAGS_AIRPURIFIER_MIIO = (
|
||||||
FEATURE_SET_BUZZER
|
FEATURE_SET_BUZZER
|
||||||
@ -387,7 +389,9 @@ FEATURE_FLAGS_AIRHUMIDIFIER_CA4 = (
|
|||||||
| FEATURE_SET_CLEAN
|
| 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_FLAGS_AIRFRESH = (
|
||||||
FEATURE_SET_BUZZER
|
FEATURE_SET_BUZZER
|
||||||
@ -398,7 +402,9 @@ FEATURE_FLAGS_AIRFRESH = (
|
|||||||
| FEATURE_SET_EXTRA_FEATURES
|
| 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_FLAGS_FAN_P5 = (
|
||||||
FEATURE_SET_BUZZER
|
FEATURE_SET_BUZZER
|
||||||
|
@ -59,10 +59,12 @@ from .const import (
|
|||||||
FEATURE_SET_BUZZER,
|
FEATURE_SET_BUZZER,
|
||||||
FEATURE_SET_CHILD_LOCK,
|
FEATURE_SET_CHILD_LOCK,
|
||||||
FEATURE_SET_CLEAN,
|
FEATURE_SET_CLEAN,
|
||||||
|
FEATURE_SET_DISPLAY,
|
||||||
FEATURE_SET_DRY,
|
FEATURE_SET_DRY,
|
||||||
FEATURE_SET_IONIZER,
|
FEATURE_SET_IONIZER,
|
||||||
FEATURE_SET_LEARN_MODE,
|
FEATURE_SET_LEARN_MODE,
|
||||||
FEATURE_SET_LED,
|
FEATURE_SET_LED,
|
||||||
|
FEATURE_SET_PTC,
|
||||||
KEY_COORDINATOR,
|
KEY_COORDINATOR,
|
||||||
KEY_DEVICE,
|
KEY_DEVICE,
|
||||||
MODEL_AIRFRESH_A1,
|
MODEL_AIRFRESH_A1,
|
||||||
@ -121,6 +123,7 @@ ATTR_AUTO_DETECT = "auto_detect"
|
|||||||
ATTR_BUZZER = "buzzer"
|
ATTR_BUZZER = "buzzer"
|
||||||
ATTR_CHILD_LOCK = "child_lock"
|
ATTR_CHILD_LOCK = "child_lock"
|
||||||
ATTR_CLEAN = "clean_mode"
|
ATTR_CLEAN = "clean_mode"
|
||||||
|
ATTR_DISPLAY = "display"
|
||||||
ATTR_DRY = "dry"
|
ATTR_DRY = "dry"
|
||||||
ATTR_LEARN_MODE = "learn_mode"
|
ATTR_LEARN_MODE = "learn_mode"
|
||||||
ATTR_LED = "led"
|
ATTR_LED = "led"
|
||||||
@ -131,6 +134,7 @@ ATTR_POWER = "power"
|
|||||||
ATTR_POWER_MODE = "power_mode"
|
ATTR_POWER_MODE = "power_mode"
|
||||||
ATTR_POWER_PRICE = "power_price"
|
ATTR_POWER_PRICE = "power_price"
|
||||||
ATTR_PRICE = "price"
|
ATTR_PRICE = "price"
|
||||||
|
ATTR_PTC = "ptc"
|
||||||
ATTR_WIFI_LED = "wifi_led"
|
ATTR_WIFI_LED = "wifi_led"
|
||||||
|
|
||||||
FEATURE_SET_POWER_MODE = 1
|
FEATURE_SET_POWER_MODE = 1
|
||||||
@ -225,6 +229,15 @@ SWITCH_TYPES = (
|
|||||||
method_off="async_set_child_lock_off",
|
method_off="async_set_child_lock_off",
|
||||||
entity_category=EntityCategory.CONFIG,
|
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(
|
XiaomiMiioSwitchDescription(
|
||||||
key=ATTR_DRY,
|
key=ATTR_DRY,
|
||||||
feature=FEATURE_SET_DRY,
|
feature=FEATURE_SET_DRY,
|
||||||
@ -279,6 +292,15 @@ SWITCH_TYPES = (
|
|||||||
method_off="async_set_ionizer_off",
|
method_off="async_set_ionizer_off",
|
||||||
entity_category=EntityCategory.CONFIG,
|
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,
|
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:
|
async def async_set_dry_on(self) -> bool:
|
||||||
"""Turn the dry mode on."""
|
"""Turn the dry mode on."""
|
||||||
return await self._try_command(
|
return await self._try_command(
|
||||||
@ -629,6 +667,22 @@ class XiaomiGenericCoordinatedSwitch(XiaomiCoordinatedMiioEntity, SwitchEntity):
|
|||||||
False,
|
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):
|
class XiaomiGatewaySwitch(XiaomiGatewayDevice, SwitchEntity):
|
||||||
"""Representation of a XiaomiGatewaySwitch."""
|
"""Representation of a XiaomiGatewaySwitch."""
|
||||||
|
Loading…
x
Reference in New Issue
Block a user