mirror of
https://github.com/home-assistant/core.git
synced 2025-07-17 18:27:09 +00:00
Change ZHA Tuya plugs to use quirk IDs (#102489)
Change ZHA Tuya plug matches to use quirk IDs
This commit is contained in:
parent
c047f47595
commit
e755dd83b6
@ -4,6 +4,7 @@ from __future__ import annotations
|
|||||||
from collections.abc import Coroutine
|
from collections.abc import Coroutine
|
||||||
from typing import TYPE_CHECKING, Any
|
from typing import TYPE_CHECKING, Any
|
||||||
|
|
||||||
|
from zhaquirks.quirk_ids import TUYA_PLUG_ONOFF
|
||||||
import zigpy.exceptions
|
import zigpy.exceptions
|
||||||
import zigpy.types as t
|
import zigpy.types as t
|
||||||
import zigpy.zcl
|
import zigpy.zcl
|
||||||
@ -347,26 +348,10 @@ class OnOffClusterHandler(ClusterHandler):
|
|||||||
super().__init__(cluster, endpoint)
|
super().__init__(cluster, endpoint)
|
||||||
self._off_listener = None
|
self._off_listener = None
|
||||||
|
|
||||||
if self.cluster.endpoint.model not in (
|
if endpoint.device.quirk_id == TUYA_PLUG_ONOFF:
|
||||||
"TS011F",
|
|
||||||
"TS0121",
|
|
||||||
"TS0001",
|
|
||||||
"TS0002",
|
|
||||||
"TS0003",
|
|
||||||
"TS0004",
|
|
||||||
):
|
|
||||||
return
|
|
||||||
|
|
||||||
try:
|
|
||||||
self.cluster.find_attribute("backlight_mode")
|
|
||||||
except KeyError:
|
|
||||||
return
|
|
||||||
|
|
||||||
self.ZCL_INIT_ATTRS = self.ZCL_INIT_ATTRS.copy()
|
self.ZCL_INIT_ATTRS = self.ZCL_INIT_ATTRS.copy()
|
||||||
self.ZCL_INIT_ATTRS["backlight_mode"] = True
|
self.ZCL_INIT_ATTRS["backlight_mode"] = True
|
||||||
self.ZCL_INIT_ATTRS["power_on_state"] = True
|
self.ZCL_INIT_ATTRS["power_on_state"] = True
|
||||||
|
|
||||||
if self.cluster.endpoint.model == "TS011F":
|
|
||||||
self.ZCL_INIT_ATTRS["child_lock"] = True
|
self.ZCL_INIT_ATTRS["child_lock"] = True
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
|
@ -5,6 +5,7 @@ import logging
|
|||||||
from typing import TYPE_CHECKING, Any
|
from typing import TYPE_CHECKING, Any
|
||||||
|
|
||||||
from zhaquirks.inovelli.types import AllLEDEffectType, SingleLEDEffectType
|
from zhaquirks.inovelli.types import AllLEDEffectType, SingleLEDEffectType
|
||||||
|
from zhaquirks.quirk_ids import TUYA_PLUG_MANUFACTURER
|
||||||
import zigpy.zcl
|
import zigpy.zcl
|
||||||
|
|
||||||
from homeassistant.core import callback
|
from homeassistant.core import callback
|
||||||
@ -72,25 +73,7 @@ class TuyaClusterHandler(ClusterHandler):
|
|||||||
def __init__(self, cluster: zigpy.zcl.Cluster, endpoint: Endpoint) -> None:
|
def __init__(self, cluster: zigpy.zcl.Cluster, endpoint: Endpoint) -> None:
|
||||||
"""Initialize TuyaClusterHandler."""
|
"""Initialize TuyaClusterHandler."""
|
||||||
super().__init__(cluster, endpoint)
|
super().__init__(cluster, endpoint)
|
||||||
|
if endpoint.device.quirk_id == TUYA_PLUG_MANUFACTURER:
|
||||||
if self.cluster.endpoint.manufacturer in (
|
|
||||||
"_TZE200_7tdtqgwv",
|
|
||||||
"_TZE200_amp6tsvy",
|
|
||||||
"_TZE200_oisqyl4o",
|
|
||||||
"_TZE200_vhy3iakz",
|
|
||||||
"_TZ3000_uim07oem",
|
|
||||||
"_TZE200_wfxuhoea",
|
|
||||||
"_TZE200_tviaymwx",
|
|
||||||
"_TZE200_g1ib5ldv",
|
|
||||||
"_TZE200_wunufsil",
|
|
||||||
"_TZE200_7deq70b8",
|
|
||||||
"_TZE200_tz32mtza",
|
|
||||||
"_TZE200_2hf7x9n3",
|
|
||||||
"_TZE200_aqnazj70",
|
|
||||||
"_TZE200_1ozguk6x",
|
|
||||||
"_TZE200_k6jhsr0q",
|
|
||||||
"_TZE200_9mahtqtg",
|
|
||||||
):
|
|
||||||
self.ZCL_INIT_ATTRS = {
|
self.ZCL_INIT_ATTRS = {
|
||||||
"backlight_mode": True,
|
"backlight_mode": True,
|
||||||
"power_on_state": True,
|
"power_on_state": True,
|
||||||
|
@ -6,6 +6,7 @@ import functools
|
|||||||
import logging
|
import logging
|
||||||
from typing import TYPE_CHECKING, Any, Self
|
from typing import TYPE_CHECKING, Any, Self
|
||||||
|
|
||||||
|
from zhaquirks.quirk_ids import TUYA_PLUG_MANUFACTURER, TUYA_PLUG_ONOFF
|
||||||
from zigpy import types
|
from zigpy import types
|
||||||
from zigpy.zcl.clusters.general import OnOff
|
from zigpy.zcl.clusters.general import OnOff
|
||||||
from zigpy.zcl.clusters.security import IasWd
|
from zigpy.zcl.clusters.security import IasWd
|
||||||
@ -246,29 +247,10 @@ class TuyaPowerOnState(types.enum8):
|
|||||||
|
|
||||||
|
|
||||||
@CONFIG_DIAGNOSTIC_MATCH(
|
@CONFIG_DIAGNOSTIC_MATCH(
|
||||||
cluster_handler_names=CLUSTER_HANDLER_ON_OFF,
|
cluster_handler_names=CLUSTER_HANDLER_ON_OFF, quirk_ids=TUYA_PLUG_ONOFF
|
||||||
models={"TS011F", "TS0121", "TS0001", "TS0002", "TS0003", "TS0004"},
|
|
||||||
)
|
)
|
||||||
@CONFIG_DIAGNOSTIC_MATCH(
|
@CONFIG_DIAGNOSTIC_MATCH(
|
||||||
cluster_handler_names="tuya_manufacturer",
|
cluster_handler_names="tuya_manufacturer", quirk_ids=TUYA_PLUG_MANUFACTURER
|
||||||
manufacturers={
|
|
||||||
"_TZE200_7tdtqgwv",
|
|
||||||
"_TZE200_amp6tsvy",
|
|
||||||
"_TZE200_oisqyl4o",
|
|
||||||
"_TZE200_vhy3iakz",
|
|
||||||
"_TZ3000_uim07oem",
|
|
||||||
"_TZE200_wfxuhoea",
|
|
||||||
"_TZE200_tviaymwx",
|
|
||||||
"_TZE200_g1ib5ldv",
|
|
||||||
"_TZE200_wunufsil",
|
|
||||||
"_TZE200_7deq70b8",
|
|
||||||
"_TZE200_tz32mtza",
|
|
||||||
"_TZE200_2hf7x9n3",
|
|
||||||
"_TZE200_aqnazj70",
|
|
||||||
"_TZE200_1ozguk6x",
|
|
||||||
"_TZE200_k6jhsr0q",
|
|
||||||
"_TZE200_9mahtqtg",
|
|
||||||
},
|
|
||||||
)
|
)
|
||||||
class TuyaPowerOnStateSelectEntity(ZCLEnumSelectEntity):
|
class TuyaPowerOnStateSelectEntity(ZCLEnumSelectEntity):
|
||||||
"""Representation of a ZHA power on state select entity."""
|
"""Representation of a ZHA power on state select entity."""
|
||||||
@ -288,8 +270,7 @@ class TuyaBacklightMode(types.enum8):
|
|||||||
|
|
||||||
|
|
||||||
@CONFIG_DIAGNOSTIC_MATCH(
|
@CONFIG_DIAGNOSTIC_MATCH(
|
||||||
cluster_handler_names=CLUSTER_HANDLER_ON_OFF,
|
cluster_handler_names=CLUSTER_HANDLER_ON_OFF, quirk_ids=TUYA_PLUG_ONOFF
|
||||||
models={"TS011F", "TS0121", "TS0001", "TS0002", "TS0003", "TS0004"},
|
|
||||||
)
|
)
|
||||||
class TuyaBacklightModeSelectEntity(ZCLEnumSelectEntity):
|
class TuyaBacklightModeSelectEntity(ZCLEnumSelectEntity):
|
||||||
"""Representation of a ZHA backlight mode select entity."""
|
"""Representation of a ZHA backlight mode select entity."""
|
||||||
@ -310,25 +291,7 @@ class MoesBacklightMode(types.enum8):
|
|||||||
|
|
||||||
|
|
||||||
@CONFIG_DIAGNOSTIC_MATCH(
|
@CONFIG_DIAGNOSTIC_MATCH(
|
||||||
cluster_handler_names="tuya_manufacturer",
|
cluster_handler_names="tuya_manufacturer", quirk_ids=TUYA_PLUG_MANUFACTURER
|
||||||
manufacturers={
|
|
||||||
"_TZE200_7tdtqgwv",
|
|
||||||
"_TZE200_amp6tsvy",
|
|
||||||
"_TZE200_oisqyl4o",
|
|
||||||
"_TZE200_vhy3iakz",
|
|
||||||
"_TZ3000_uim07oem",
|
|
||||||
"_TZE200_wfxuhoea",
|
|
||||||
"_TZE200_tviaymwx",
|
|
||||||
"_TZE200_g1ib5ldv",
|
|
||||||
"_TZE200_wunufsil",
|
|
||||||
"_TZE200_7deq70b8",
|
|
||||||
"_TZE200_tz32mtza",
|
|
||||||
"_TZE200_2hf7x9n3",
|
|
||||||
"_TZE200_aqnazj70",
|
|
||||||
"_TZE200_1ozguk6x",
|
|
||||||
"_TZE200_k6jhsr0q",
|
|
||||||
"_TZE200_9mahtqtg",
|
|
||||||
},
|
|
||||||
)
|
)
|
||||||
class MoesBacklightModeSelectEntity(ZCLEnumSelectEntity):
|
class MoesBacklightModeSelectEntity(ZCLEnumSelectEntity):
|
||||||
"""Moes devices have a different backlight mode select options."""
|
"""Moes devices have a different backlight mode select options."""
|
||||||
|
@ -5,6 +5,7 @@ import functools
|
|||||||
import logging
|
import logging
|
||||||
from typing import TYPE_CHECKING, Any, Self
|
from typing import TYPE_CHECKING, Any, Self
|
||||||
|
|
||||||
|
from zhaquirks.quirk_ids import TUYA_PLUG_ONOFF
|
||||||
from zigpy.zcl.clusters.general import OnOff
|
from zigpy.zcl.clusters.general import OnOff
|
||||||
from zigpy.zcl.foundation import Status
|
from zigpy.zcl.foundation import Status
|
||||||
|
|
||||||
@ -488,8 +489,7 @@ class AqaraPetFeederChildLock(ZHASwitchConfigurationEntity):
|
|||||||
|
|
||||||
|
|
||||||
@CONFIG_DIAGNOSTIC_MATCH(
|
@CONFIG_DIAGNOSTIC_MATCH(
|
||||||
cluster_handler_names=CLUSTER_HANDLER_ON_OFF,
|
cluster_handler_names=CLUSTER_HANDLER_ON_OFF, quirk_ids=TUYA_PLUG_ONOFF
|
||||||
models={"TS011F"},
|
|
||||||
)
|
)
|
||||||
class TuyaChildLockSwitch(ZHASwitchConfigurationEntity):
|
class TuyaChildLockSwitch(ZHASwitchConfigurationEntity):
|
||||||
"""Representation of a child lock configuration entity."""
|
"""Representation of a child lock configuration entity."""
|
||||||
|
Loading…
x
Reference in New Issue
Block a user