"""Netvox device.""" from zigpy.profiles import zha from zigpy.quirks import CustomDevice from zigpy.zcl.clusters.general import Basic, Commissioning, Identify, PollControl from zigpy.zcl.clusters.homeautomation import Diagnostic from zigpy.zcl.clusters.security import IasZone from zhaquirks import PowerConfigurationCluster from zhaquirks.const import ( DEVICE_TYPE, ENDPOINTS, INPUT_CLUSTERS, OUTPUT_CLUSTERS, PROFILE_ID, ) class CustomPowerConfigurationCluster(PowerConfigurationCluster): """Custom PowerConfigurationCluster.""" MIN_VOLTS = 2.1 MAX_VOLTS = 3.0 class Z308E3ED(CustomDevice): """Netvox Z308E3ED.""" signature = { # ENDPOINTS: { 1: { PROFILE_ID: zha.PROFILE_ID, DEVICE_TYPE: zha.DeviceType.IAS_ZONE, INPUT_CLUSTERS: [ Basic.cluster_id, CustomPowerConfigurationCluster.cluster_id, Identify.cluster_id, PollControl.cluster_id, IasZone.cluster_id, Commissioning.cluster_id, Diagnostic.cluster_id, ], OUTPUT_CLUSTERS: [], } } } replacement = { ENDPOINTS: { 1: { INPUT_CLUSTERS: [ Basic.cluster_id, CustomPowerConfigurationCluster, Identify.cluster_id, PollControl.cluster_id, IasZone.cluster_id, Commissioning.cluster_id, Diagnostic.cluster_id, ] } } }