mirror of
https://github.com/home-assistant/core.git
synced 2025-07-24 21:57:51 +00:00
YoLink Power Failure Alarm (#91934)
* add ys-7106 * expose mute property * add volume entity description * add beep entity description * fix as suggest
This commit is contained in:
parent
6df44ff5d5
commit
e744632164
@ -6,5 +6,5 @@
|
|||||||
"dependencies": ["auth", "application_credentials"],
|
"dependencies": ["auth", "application_credentials"],
|
||||||
"documentation": "https://www.home-assistant.io/integrations/yolink",
|
"documentation": "https://www.home-assistant.io/integrations/yolink",
|
||||||
"iot_class": "cloud_push",
|
"iot_class": "cloud_push",
|
||||||
"requirements": ["yolink-api==0.2.8"]
|
"requirements": ["yolink-api==0.2.9"]
|
||||||
}
|
}
|
||||||
|
@ -14,6 +14,7 @@ from yolink.const import (
|
|||||||
ATTR_DEVICE_MOTION_SENSOR,
|
ATTR_DEVICE_MOTION_SENSOR,
|
||||||
ATTR_DEVICE_MULTI_OUTLET,
|
ATTR_DEVICE_MULTI_OUTLET,
|
||||||
ATTR_DEVICE_OUTLET,
|
ATTR_DEVICE_OUTLET,
|
||||||
|
ATTR_DEVICE_POWER_FAILURE_ALARM,
|
||||||
ATTR_DEVICE_SIREN,
|
ATTR_DEVICE_SIREN,
|
||||||
ATTR_DEVICE_SMART_REMOTER,
|
ATTR_DEVICE_SMART_REMOTER,
|
||||||
ATTR_DEVICE_SWITCH,
|
ATTR_DEVICE_SWITCH,
|
||||||
@ -71,6 +72,7 @@ SENSOR_DEVICE_TYPE = [
|
|||||||
ATTR_DEVICE_MULTI_OUTLET,
|
ATTR_DEVICE_MULTI_OUTLET,
|
||||||
ATTR_DEVICE_SMART_REMOTER,
|
ATTR_DEVICE_SMART_REMOTER,
|
||||||
ATTR_DEVICE_OUTLET,
|
ATTR_DEVICE_OUTLET,
|
||||||
|
ATTR_DEVICE_POWER_FAILURE_ALARM,
|
||||||
ATTR_DEVICE_SIREN,
|
ATTR_DEVICE_SIREN,
|
||||||
ATTR_DEVICE_SWITCH,
|
ATTR_DEVICE_SWITCH,
|
||||||
ATTR_DEVICE_TH_SENSOR,
|
ATTR_DEVICE_TH_SENSOR,
|
||||||
@ -86,6 +88,7 @@ BATTERY_POWER_SENSOR = [
|
|||||||
ATTR_DEVICE_DOOR_SENSOR,
|
ATTR_DEVICE_DOOR_SENSOR,
|
||||||
ATTR_DEVICE_LEAK_SENSOR,
|
ATTR_DEVICE_LEAK_SENSOR,
|
||||||
ATTR_DEVICE_MOTION_SENSOR,
|
ATTR_DEVICE_MOTION_SENSOR,
|
||||||
|
ATTR_DEVICE_POWER_FAILURE_ALARM,
|
||||||
ATTR_DEVICE_SMART_REMOTER,
|
ATTR_DEVICE_SMART_REMOTER,
|
||||||
ATTR_DEVICE_TH_SENSOR,
|
ATTR_DEVICE_TH_SENSOR,
|
||||||
ATTR_DEVICE_VIBRATION_SENSOR,
|
ATTR_DEVICE_VIBRATION_SENSOR,
|
||||||
@ -110,6 +113,14 @@ def cvt_battery(val: int | None) -> int | None:
|
|||||||
return 0
|
return 0
|
||||||
|
|
||||||
|
|
||||||
|
def cvt_volume(val: int | None) -> str | None:
|
||||||
|
"""Convert volume to string."""
|
||||||
|
if val is None:
|
||||||
|
return None
|
||||||
|
volume_level = {1: "low", 2: "medium", 3: "high"}
|
||||||
|
return volume_level.get(val, None)
|
||||||
|
|
||||||
|
|
||||||
SENSOR_TYPES: tuple[YoLinkSensorEntityDescription, ...] = (
|
SENSOR_TYPES: tuple[YoLinkSensorEntityDescription, ...] = (
|
||||||
YoLinkSensorEntityDescription(
|
YoLinkSensorEntityDescription(
|
||||||
key="battery",
|
key="battery",
|
||||||
@ -157,6 +168,41 @@ SENSOR_TYPES: tuple[YoLinkSensorEntityDescription, ...] = (
|
|||||||
entity_registry_enabled_default=False,
|
entity_registry_enabled_default=False,
|
||||||
should_update_entity=lambda value: value is not None,
|
should_update_entity=lambda value: value is not None,
|
||||||
),
|
),
|
||||||
|
YoLinkSensorEntityDescription(
|
||||||
|
key="state",
|
||||||
|
device_class=SensorDeviceClass.ENUM,
|
||||||
|
name="Power failure alarm",
|
||||||
|
icon="mdi:flash",
|
||||||
|
options=["normal", "alert", "off"],
|
||||||
|
exists_fn=lambda device: device.device_type in ATTR_DEVICE_POWER_FAILURE_ALARM,
|
||||||
|
),
|
||||||
|
YoLinkSensorEntityDescription(
|
||||||
|
key="mute",
|
||||||
|
device_class=SensorDeviceClass.ENUM,
|
||||||
|
name="Power failure alarm mute",
|
||||||
|
icon="mdi:volume-mute",
|
||||||
|
options=["muted", "unmuted"],
|
||||||
|
exists_fn=lambda device: device.device_type in ATTR_DEVICE_POWER_FAILURE_ALARM,
|
||||||
|
value=lambda value: "muted" if value is True else "unmuted",
|
||||||
|
),
|
||||||
|
YoLinkSensorEntityDescription(
|
||||||
|
key="sound",
|
||||||
|
device_class=SensorDeviceClass.ENUM,
|
||||||
|
name="Power failure alarm volume",
|
||||||
|
icon="mdi:volume-high",
|
||||||
|
options=["low", "medium", "high"],
|
||||||
|
exists_fn=lambda device: device.device_type in ATTR_DEVICE_POWER_FAILURE_ALARM,
|
||||||
|
value=cvt_volume,
|
||||||
|
),
|
||||||
|
YoLinkSensorEntityDescription(
|
||||||
|
key="beep",
|
||||||
|
device_class=SensorDeviceClass.ENUM,
|
||||||
|
name="Power failure alarm beep",
|
||||||
|
icon="mdi:bullhorn",
|
||||||
|
options=["enabled", "disabled"],
|
||||||
|
exists_fn=lambda device: device.device_type in ATTR_DEVICE_POWER_FAILURE_ALARM,
|
||||||
|
value=lambda value: "enabled" if value is True else "disabled",
|
||||||
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@ -2712,7 +2712,7 @@ yeelight==0.7.10
|
|||||||
yeelightsunflower==0.0.10
|
yeelightsunflower==0.0.10
|
||||||
|
|
||||||
# homeassistant.components.yolink
|
# homeassistant.components.yolink
|
||||||
yolink-api==0.2.8
|
yolink-api==0.2.9
|
||||||
|
|
||||||
# homeassistant.components.youless
|
# homeassistant.components.youless
|
||||||
youless-api==1.0.1
|
youless-api==1.0.1
|
||||||
|
@ -1976,7 +1976,7 @@ yalexs==1.5.1
|
|||||||
yeelight==0.7.10
|
yeelight==0.7.10
|
||||||
|
|
||||||
# homeassistant.components.yolink
|
# homeassistant.components.yolink
|
||||||
yolink-api==0.2.8
|
yolink-api==0.2.9
|
||||||
|
|
||||||
# homeassistant.components.youless
|
# homeassistant.components.youless
|
||||||
youless-api==1.0.1
|
youless-api==1.0.1
|
||||||
|
Loading…
x
Reference in New Issue
Block a user