105 lines
2.9 KiB
Python
105 lines
2.9 KiB
Python
"""TS011F plug."""
|
|
|
|
from zigpy.profiles import zgp, zha
|
|
from zigpy.zcl.clusters.general import (
|
|
Basic,
|
|
GreenPowerProxy,
|
|
Groups,
|
|
Identify,
|
|
OnOff,
|
|
Ota,
|
|
Scenes,
|
|
Time,
|
|
)
|
|
from zigpy.zcl.clusters.homeautomation import ElectricalMeasurement
|
|
from zigpy.zcl.clusters.lightlink import LightLink
|
|
from zigpy.zcl.clusters.smartenergy import Metering
|
|
|
|
from zhaquirks.const import (
|
|
DEVICE_TYPE,
|
|
ENDPOINTS,
|
|
INPUT_CLUSTERS,
|
|
MODEL,
|
|
MODELS_INFO,
|
|
OUTPUT_CLUSTERS,
|
|
PROFILE_ID,
|
|
)
|
|
from zhaquirks.tuya import (
|
|
TuyaZBE000Cluster,
|
|
TuyaZBElectricalMeasurement,
|
|
TuyaZBMeteringClusterWithUnit,
|
|
TuyaZBOnOffAttributeCluster,
|
|
)
|
|
from zhaquirks.tuya.mcu import EnchantedDevice
|
|
|
|
|
|
class Plug_v3(EnchantedDevice):
|
|
"""Tuya TS011F plug. One plug is _Tz3000_0Zfrhq4I."""
|
|
|
|
signature = {
|
|
MODEL: "TS011F",
|
|
ENDPOINTS: {
|
|
1: {
|
|
PROFILE_ID: zha.PROFILE_ID,
|
|
DEVICE_TYPE: zha.DeviceType.SMART_PLUG,
|
|
INPUT_CLUSTERS: [
|
|
Basic.cluster_id,
|
|
Identify.cluster_id,
|
|
Groups.cluster_id,
|
|
Scenes.cluster_id,
|
|
OnOff.cluster_id,
|
|
Time.cluster_id,
|
|
Metering.cluster_id,
|
|
ElectricalMeasurement.cluster_id,
|
|
LightLink.cluster_id,
|
|
0x1888,
|
|
TuyaZBE000Cluster.cluster_id,
|
|
],
|
|
OUTPUT_CLUSTERS: [
|
|
Ota.cluster_id,
|
|
],
|
|
},
|
|
242: {
|
|
PROFILE_ID: zgp.PROFILE_ID,
|
|
DEVICE_TYPE: zgp.DeviceType.PROXY_BASIC,
|
|
INPUT_CLUSTERS: [],
|
|
OUTPUT_CLUSTERS: [
|
|
GreenPowerProxy.cluster_id,
|
|
],
|
|
},
|
|
},
|
|
}
|
|
|
|
replacement = {
|
|
ENDPOINTS: {
|
|
1: {
|
|
PROFILE_ID: zha.PROFILE_ID,
|
|
DEVICE_TYPE: zha.DeviceType.SMART_PLUG,
|
|
INPUT_CLUSTERS: [
|
|
Basic.cluster_id,
|
|
Identify.cluster_id,
|
|
Groups.cluster_id,
|
|
Scenes.cluster_id,
|
|
TuyaZBOnOffAttributeCluster,
|
|
Time.cluster_id,
|
|
TuyaZBMeteringClusterWithUnit,
|
|
TuyaZBElectricalMeasurement,
|
|
LightLink.cluster_id,
|
|
0x1888,
|
|
TuyaZBE000Cluster,
|
|
],
|
|
OUTPUT_CLUSTERS: [
|
|
Ota.cluster_id,
|
|
],
|
|
},
|
|
242: {
|
|
PROFILE_ID: zgp.PROFILE_ID,
|
|
DEVICE_TYPE: zgp.DeviceType.PROXY_BASIC,
|
|
INPUT_CLUSTERS: [],
|
|
OUTPUT_CLUSTERS: [
|
|
GreenPowerProxy.cluster_id,
|
|
],
|
|
},
|
|
},
|
|
}
|