Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
91 changes: 91 additions & 0 deletions zhaquirks/centralite/3300S.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
from zigpy.profiles import PROFILES, zha
from zigpy.zcl.clusters.general import Basic, Identify,\
PollControl, Ota, BinaryInput
from zigpy.zcl.clusters.security import IasZone
from quirks.centralite import PowerConfigurationCluster
from zigpy.zcl.clusters.measurement import TemperatureMeasurement
from zigpy.quirks import CustomDevice


DIAGNOSTICS_CLUSTER_ID = 0x0B05 # decimal = 2821
MANUFACTURER_SPECIFIC_PROFILE_ID = 0xC2DF # decimal = 49887


class CentraLite3300S(CustomDevice):

def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)

signature = {
# <SimpleDescriptor endpoint=1 profile=260 device_type=1026
# device_version=0
# input_clusters=[0, 1, 3, 1026, 1280, 32, 2821]
# output_clusters=[25]>
1: {
'profile_id': zha.PROFILE_ID,
'device_type': zha.DeviceType.IAS_ZONE,
'input_clusters': [
Basic.cluster_id,
PowerConfigurationCluster.cluster_id,
Identify.cluster_id,
PollControl.cluster_id,
TemperatureMeasurement.cluster_id,
IasZone.cluster_id,
DIAGNOSTICS_CLUSTER_ID
],
'output_clusters': [
Ota.cluster_id
],
},
# <SimpleDescriptor endpoint=2 profile=49887 device_type=12
# device_version=0
# input_clusters=[0, 1, 3, 15, 2821]
# output_clusters=[3]>
2: {
'profile_id': MANUFACTURER_SPECIFIC_PROFILE_ID,
'device_type': zha.DeviceType.SIMPLE_SENSOR,
'input_clusters': [
Basic.cluster_id,
PowerConfigurationCluster.cluster_id,
Identify.cluster_id,
BinaryInput.cluster_id,
DIAGNOSTICS_CLUSTER_ID
],
'output_clusters': [
Identify.cluster_id
],
},
}

replacement = {
'endpoints': {
1: {
'manufacturer': 'CentraLite',
'model': '3300-S',
'input_clusters': [
Basic.cluster_id,
PowerConfigurationCluster,
Identify.cluster_id,
PollControl.cluster_id,
TemperatureMeasurement.cluster_id,
IasZone.cluster_id,
DIAGNOSTICS_CLUSTER_ID
],
'output_clusters': [
Ota.cluster_id
],
},
2: {
'manufacturer': 'CentraLite',
'model': '3300-S',
'input_clusters': [
Basic.cluster_id,
Identify.cluster_id,
DIAGNOSTICS_CLUSTER_ID,
],
'output_clusters': [
Identify.cluster_id
],
}
},
}