Fix mop attribute for unified mop and water box in Xiaomi Miio (#58990)
Co-authored-by: Teemu R. <tpr@iki.fi> Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
This commit is contained in:
parent
d126d88977
commit
7945facf1e
2 changed files with 23 additions and 2 deletions
|
@ -29,6 +29,7 @@ from .const import (
|
||||||
MODELS_HUMIDIFIER_MJJSQ,
|
MODELS_HUMIDIFIER_MJJSQ,
|
||||||
MODELS_VACUUM,
|
MODELS_VACUUM,
|
||||||
MODELS_VACUUM_WITH_MOP,
|
MODELS_VACUUM_WITH_MOP,
|
||||||
|
MODELS_VACUUM_WITH_SEPARATE_MOP,
|
||||||
)
|
)
|
||||||
from .device import XiaomiCoordinatedMiioEntity
|
from .device import XiaomiCoordinatedMiioEntity
|
||||||
|
|
||||||
|
@ -77,7 +78,7 @@ FAN_ZA5_BINARY_SENSORS = (ATTR_POWERSUPPLY_ATTACHED,)
|
||||||
|
|
||||||
VACUUM_SENSORS = {
|
VACUUM_SENSORS = {
|
||||||
ATTR_MOP_ATTACHED: XiaomiMiioBinarySensorDescription(
|
ATTR_MOP_ATTACHED: XiaomiMiioBinarySensorDescription(
|
||||||
key=ATTR_MOP_ATTACHED,
|
key=ATTR_WATER_BOX_ATTACHED,
|
||||||
name="Mop Attached",
|
name="Mop Attached",
|
||||||
icon="mdi:square-rounded",
|
icon="mdi:square-rounded",
|
||||||
parent_key=VacuumCoordinatorDataAttributes.status,
|
parent_key=VacuumCoordinatorDataAttributes.status,
|
||||||
|
@ -105,6 +106,19 @@ VACUUM_SENSORS = {
|
||||||
),
|
),
|
||||||
}
|
}
|
||||||
|
|
||||||
|
VACUUM_SENSORS_SEPARATE_MOP = {
|
||||||
|
**VACUUM_SENSORS,
|
||||||
|
ATTR_MOP_ATTACHED: XiaomiMiioBinarySensorDescription(
|
||||||
|
key=ATTR_MOP_ATTACHED,
|
||||||
|
name="Mop Attached",
|
||||||
|
icon="mdi:square-rounded",
|
||||||
|
parent_key=VacuumCoordinatorDataAttributes.status,
|
||||||
|
entity_registry_enabled_default=True,
|
||||||
|
device_class=DEVICE_CLASS_CONNECTIVITY,
|
||||||
|
entity_category=ENTITY_CATEGORY_DIAGNOSTIC,
|
||||||
|
),
|
||||||
|
}
|
||||||
|
|
||||||
HUMIDIFIER_MIIO_BINARY_SENSORS = (ATTR_WATER_TANK_DETACHED,)
|
HUMIDIFIER_MIIO_BINARY_SENSORS = (ATTR_WATER_TANK_DETACHED,)
|
||||||
HUMIDIFIER_MIOT_BINARY_SENSORS = (ATTR_WATER_TANK_DETACHED,)
|
HUMIDIFIER_MIOT_BINARY_SENSORS = (ATTR_WATER_TANK_DETACHED,)
|
||||||
HUMIDIFIER_MJJSQ_BINARY_SENSORS = (ATTR_NO_WATER, ATTR_WATER_TANK_DETACHED)
|
HUMIDIFIER_MJJSQ_BINARY_SENSORS = (ATTR_NO_WATER, ATTR_WATER_TANK_DETACHED)
|
||||||
|
@ -118,8 +132,12 @@ def _setup_vacuum_sensors(hass, config_entry, async_add_entities):
|
||||||
device = hass.data[DOMAIN][config_entry.entry_id].get(KEY_DEVICE)
|
device = hass.data[DOMAIN][config_entry.entry_id].get(KEY_DEVICE)
|
||||||
coordinator = hass.data[DOMAIN][config_entry.entry_id][KEY_COORDINATOR]
|
coordinator = hass.data[DOMAIN][config_entry.entry_id][KEY_COORDINATOR]
|
||||||
entities = []
|
entities = []
|
||||||
|
sensors = VACUUM_SENSORS
|
||||||
|
|
||||||
for sensor, description in VACUUM_SENSORS.items():
|
if config_entry.data[CONF_MODEL] in MODELS_VACUUM_WITH_SEPARATE_MOP:
|
||||||
|
sensors = VACUUM_SENSORS_SEPARATE_MOP
|
||||||
|
|
||||||
|
for sensor, description in sensors.items():
|
||||||
parent_key_data = getattr(coordinator.data, description.parent_key)
|
parent_key_data = getattr(coordinator.data, description.parent_key)
|
||||||
if getattr(parent_key_data, description.key, None) is None:
|
if getattr(parent_key_data, description.key, None) is None:
|
||||||
_LOGGER.debug(
|
_LOGGER.debug(
|
||||||
|
|
|
@ -225,6 +225,9 @@ MODELS_VACUUM_WITH_MOP = [
|
||||||
ROCKROBO_S6_PURE,
|
ROCKROBO_S6_PURE,
|
||||||
ROCKROBO_S7,
|
ROCKROBO_S7,
|
||||||
]
|
]
|
||||||
|
MODELS_VACUUM_WITH_SEPARATE_MOP = [
|
||||||
|
ROCKROBO_S7,
|
||||||
|
]
|
||||||
|
|
||||||
MODELS_AIR_MONITOR = [
|
MODELS_AIR_MONITOR = [
|
||||||
MODEL_AIRQUALITYMONITOR_V1,
|
MODEL_AIRQUALITYMONITOR_V1,
|
||||||
|
|
Loading…
Add table
Reference in a new issue