"""Xiaomi lumi.relay.c2acn01 relay.""" import logging from zigpy.profiles import zha from zigpy.zcl.clusters.general import ( AnalogInput, Basic, BinaryOutput, DeviceTemperature, Groups, Identify, OnOff, Ota, PowerConfiguration, Scenes, Time, ) from zigpy.zcl.clusters.homeautomation import ElectricalMeasurement from zhaquirks.const import ( DEVICE_TYPE, ENDPOINTS, INPUT_CLUSTERS, MODELS_INFO, OUTPUT_CLUSTERS, PROFILE_ID, SKIP_CONFIGURATION, ) from zhaquirks.xiaomi import ( LUMI, AnalogInputCluster, BasicCluster, BinaryOutputInterlock, ElectricalMeasurementCluster, MeteringCluster, XiaomiCustomDevice, ) _LOGGER = logging.getLogger(__name__) class Relay(XiaomiCustomDevice): """lumi.relay.c2acn01 relay.""" signature = { MODELS_INFO: [(LUMI, "lumi.relay.c2acn01")], ENDPOINTS: { # 1: { PROFILE_ID: zha.PROFILE_ID, DEVICE_TYPE: zha.DeviceType.DIMMABLE_LIGHT, INPUT_CLUSTERS: [ Basic.cluster_id, PowerConfiguration.cluster_id, DeviceTemperature.cluster_id, Groups.cluster_id, Identify.cluster_id, OnOff.cluster_id, Scenes.cluster_id, BinaryOutput.cluster_id, Time.cluster_id, ElectricalMeasurement.cluster_id, AnalogInput.cluster_id, ], OUTPUT_CLUSTERS: [Ota.cluster_id, Time.cluster_id], }, # 2: { PROFILE_ID: zha.PROFILE_ID, DEVICE_TYPE: zha.DeviceType.DIMMABLE_LIGHT, INPUT_CLUSTERS: [ OnOff.cluster_id, BinaryOutput.cluster_id, Groups.cluster_id, Scenes.cluster_id, ], OUTPUT_CLUSTERS: [], }, }, } replacement = { SKIP_CONFIGURATION: True, ENDPOINTS: { 1: { PROFILE_ID: zha.PROFILE_ID, DEVICE_TYPE: zha.DeviceType.DIMMABLE_LIGHT, INPUT_CLUSTERS: [ BasicCluster, PowerConfiguration.cluster_id, DeviceTemperature.cluster_id, Groups.cluster_id, Identify.cluster_id, OnOff.cluster_id, Scenes.cluster_id, BinaryOutputInterlock, Time.cluster_id, MeteringCluster, ElectricalMeasurementCluster, AnalogInputCluster, ], OUTPUT_CLUSTERS: [Ota.cluster_id, Time.cluster_id], }, 2: { PROFILE_ID: zha.PROFILE_ID, DEVICE_TYPE: zha.DeviceType.DIMMABLE_LIGHT, INPUT_CLUSTERS: [ OnOff.cluster_id, BinaryOutputInterlock, Groups.cluster_id, Scenes.cluster_id, ], OUTPUT_CLUSTERS: [], }, }, }