From 8cb7e9785f2b06ace23fd9de5900c73f6a50ed46 Mon Sep 17 00:00:00 2001 From: Matrix <justin@yosmart.com> Date: Fri, 19 Jul 2024 18:20:30 +0800 Subject: [PATCH] Add YoLink YS8017 support (#122064) --- homeassistant/components/yolink/const.py | 2 ++ homeassistant/components/yolink/sensor.py | 10 ++++++++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/homeassistant/components/yolink/const.py b/homeassistant/components/yolink/const.py index e829fe08d32..894c85d3f1b 100644 --- a/homeassistant/components/yolink/const.py +++ b/homeassistant/components/yolink/const.py @@ -17,3 +17,5 @@ YOLINK_OFFLINE_TIME = 32400 DEV_MODEL_WATER_METER_YS5007 = "YS5007" DEV_MODEL_MULTI_OUTLET_YS6801 = "YS6801" +DEV_MODEL_TH_SENSOR_YS8017_UC = "YS8017-UC" +DEV_MODEL_TH_SENSOR_YS8017_EC = "YS8017-EC" diff --git a/homeassistant/components/yolink/sensor.py b/homeassistant/components/yolink/sensor.py index 6badeefbdb3..4426602f133 100644 --- a/homeassistant/components/yolink/sensor.py +++ b/homeassistant/components/yolink/sensor.py @@ -48,7 +48,7 @@ from homeassistant.core import HomeAssistant, callback from homeassistant.helpers.entity_platform import AddEntitiesCallback from homeassistant.util import percentage -from .const import DOMAIN +from .const import DEV_MODEL_TH_SENSOR_YS8017_EC, DEV_MODEL_TH_SENSOR_YS8017_UC, DOMAIN from .coordinator import YoLinkCoordinator from .entity import YoLinkEntity @@ -108,6 +108,11 @@ MCU_DEV_TEMPERATURE_SENSOR = [ ATTR_DEVICE_CO_SMOKE_SENSOR, ] +NONE_HUMIDITY_SENSOR_MODELS = [ + DEV_MODEL_TH_SENSOR_YS8017_UC, + DEV_MODEL_TH_SENSOR_YS8017_EC, +] + def cvt_battery(val: int | None) -> int | None: """Convert battery to percentage.""" @@ -141,7 +146,8 @@ SENSOR_TYPES: tuple[YoLinkSensorEntityDescription, ...] = ( device_class=SensorDeviceClass.HUMIDITY, native_unit_of_measurement=PERCENTAGE, state_class=SensorStateClass.MEASUREMENT, - exists_fn=lambda device: device.device_type in [ATTR_DEVICE_TH_SENSOR], + exists_fn=lambda device: device.device_type in [ATTR_DEVICE_TH_SENSOR] + and device.device_model_name not in NONE_HUMIDITY_SENSOR_MODELS, ), YoLinkSensorEntityDescription( key="temperature", -- GitLab