We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
[Device Support Request] CentraLite Contact Sensor-A
**TL;DR**: The battery entity for the `CentraLite Contact Sensor-A` always reports `Unavailable`.  It's very similar in signature to the CentraLite 3320-L sensor, so I'm hoping it just needs a device-specific quirk.

**Is your feature request related to a problem? Please describe.**
I have some Sylvania SMART+ Door/Window sensors that are detected as `CentraLite Contact Sensor-A`.  They do not have a device-specific quirk; the ZHA Network Card reports them using zha.device.Device.

The open/close and temp entities currently work fine in HA, but the battery level entity always shows `Unavailable`.  There is battery information available in the UI via the entity: battery size is reported as `Other`, battery quantity is reported as `1` and battery voltage is reported as a float like `2.7` or `2.6`.

I also have some other sensors that are very similar both in terms of device signature and physical attributes.  They are Lowes Iris Window/Door sensors and are detected as `Centralite 3320-L`.  These use the quirk zhaquirks.centralite.ias.CentraLiteIASSensor.

The only differences in the device signatures for these two devices (other than the detected model, of course) are: 

- The manufacturer_code entry in the node descriptor is different - I’m assuming this is how the different device model is detected.
- On the Contact Sensor-A Endpoint 2 has an extra in cluster with id 0x0001
- The Contact Sensor-A uses the default Zigbee device quirk, but the 3320-L uses a CentraLite-specific one.



**Describe the solution you'd like**
I'd like for the battery entity in HA to show the remaining percentage, similar to the entities for all my other sensor batteries.

**Device signature - this can be acquired by removing the device from ZHA and pairing it again from the add devices screen. Be sure to add the entire content of the log panel after pairing the device to a code block below this line.**

```
{
  "node_descriptor": "NodeDescriptor(byte1=2, byte2=64, mac_capability_flags=128, manufacturer_code=4174, maximum_buffer_size=82, maximum_incoming_transfer_size=82, server_mask=0, maximum_outgoing_transfer_size=82, descriptor_capability_field=0)",
  "endpoints": {
    "1": {
      "profile_id": 260,
      "device_type": "0x0402",
      "in_clusters": [
        "0x0000",
        "0x0001",
        "0x0003",
        "0x0020",
        "0x0402",
        "0x0500",
        "0x0b05"
      ],
      "out_clusters": [
        "0x0019"
      ]
    },
    "2": {
      "profile_id": 49887,
      "device_type": "0x000c",
      "in_clusters": [
        "0x0000",
        "0x0001",
        "0x0003",
        "0x0b05",
        "0xfc0f"
      ],
      "out_clusters": [
        "0x0003"
      ]
    }
  },
  "manufacturer": "CentraLite",
  "model": "Contact Sensor-A",
  "class": "zigpy.device.Device"
}
```


--- END ISSUE ---

Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
--- BEGIN FILES ---
Path: `zhaquirks/centralite/ias.py`
Content:
```
1 """Device handler for centralite ias sensors."""
2 from zigpy.profiles import zha
3 from zigpy.quirks import CustomDevice
4 from zigpy.zcl.clusters.general import Basic, BinaryInput, Identify, Ota, PollControl
5 from zigpy.zcl.clusters.measurement import TemperatureMeasurement
6 from zigpy.zcl.clusters.security import IasZone
7 
8 from zhaquirks import PowerConfigurationCluster
9 
10 from . import CENTRALITE
11 from ..const import (
12     DEVICE_TYPE,
13     ENDPOINTS,
14     INPUT_CLUSTERS,
15     MODELS_INFO,
16     OUTPUT_CLUSTERS,
17     PROFILE_ID,
18 )
19 
20 DIAGNOSTICS_CLUSTER_ID = 0x0B05  # decimal = 2821
21 MANUFACTURER_SPECIFIC_CLUSTER_ID = 0xFC0F  # decimal = 64527
22 MANUFACTURER_SPECIFIC_PROFILE_ID = 0xC2DF  # decimal = 49887
23 
24 
25 class CentraLiteIASSensor(CustomDevice):
26     """Custom device representing centralite ias sensors."""
27 
28     signature = {
29         #  <SimpleDescriptor endpoint=1 profile=260 device_type=1026
30         #  device_version=0
31         #  input_clusters=[0, 1, 3, 32, 1026, 1280, 2821]
32         #  output_clusters=[25]>
33         MODELS_INFO: [
34             (CENTRALITE, "3300-S"),
35             (CENTRALITE, "3315-G"),
36             (CENTRALITE, "3315-L"),
37             (CENTRALITE, "3315-S"),
38             (CENTRALITE, "3315-Seu"),
39             (CENTRALITE, "3315"),
40             (CENTRALITE, "3320-L"),
41         ],
42         ENDPOINTS: {
43             1: {
44                 PROFILE_ID: zha.PROFILE_ID,
45                 DEVICE_TYPE: zha.DeviceType.IAS_ZONE,
46                 INPUT_CLUSTERS: [
47                     Basic.cluster_id,
48                     PowerConfigurationCluster.cluster_id,
49                     Identify.cluster_id,
50                     PollControl.cluster_id,
51                     TemperatureMeasurement.cluster_id,
52                     IasZone.cluster_id,
53                     DIAGNOSTICS_CLUSTER_ID,
54                 ],
55                 OUTPUT_CLUSTERS: [Ota.cluster_id],
56             },
57             #  <SimpleDescriptor endpoint=2 profile=49887 device_type=12
58             #  device_version=0
59             #  input_clusters=[0, 1, 3, 2821, 64527]
60             #  output_clusters=[3]>
61             2: {
62                 PROFILE_ID: MANUFACTURER_SPECIFIC_PROFILE_ID,
63                 DEVICE_TYPE: zha.DeviceType.SIMPLE_SENSOR,
64                 INPUT_CLUSTERS: [
65                     Basic.cluster_id,
66                     PowerConfigurationCluster.cluster_id,
67                     Identify.cluster_id,
68                     DIAGNOSTICS_CLUSTER_ID,
69                     MANUFACTURER_SPECIFIC_CLUSTER_ID,
70                 ],
71                 OUTPUT_CLUSTERS: [Identify.cluster_id],
72             },
73         },
74     }
75 
76     replacement = {
77         ENDPOINTS: {
78             1: {
79                 INPUT_CLUSTERS: [
80                     Basic.cluster_id,
81                     PowerConfigurationCluster,
82                     Identify.cluster_id,
83                     PollControl.cluster_id,
84                     TemperatureMeasurement.cluster_id,
85                     IasZone.cluster_id,
86                     DIAGNOSTICS_CLUSTER_ID,
87                 ],
88                 OUTPUT_CLUSTERS: [Ota.cluster_id],
89             },
90             2: {
91                 INPUT_CLUSTERS: [
92                     Basic.cluster_id,
93                     Identify.cluster_id,
94                     DIAGNOSTICS_CLUSTER_ID,
95                     MANUFACTURER_SPECIFIC_CLUSTER_ID,
96                 ],
97                 OUTPUT_CLUSTERS: [Identify.cluster_id],
98             },
99         }
100     }
101 
102 
103 class CentraLiteIASSensorV2(CustomDevice):
104     """Custom device representing centralite ias sensors."""
105 
106     signature = {
107         #  <SimpleDescriptor endpoint=1 profile=260 device_type=1026
108         #  device_version=0
109         #  input_clusters=[0, 1, 3, 32, 1026, 1280, 2821]
110         #  output_clusters=[25]>
111         MODELS_INFO: CentraLiteIASSensor.signature[MODELS_INFO],
112         ENDPOINTS: {
113             1: CentraLiteIASSensor.signature[ENDPOINTS][1],
114             #  <SimpleDescriptor endpoint=2 profile=49887 device_type=12
115             #  device_version=0
116             #  input_clusters=[0, 1, 3, 15, 2821, 64527]
117             #  output_clusters=[3]>
118             2: {
119                 PROFILE_ID: MANUFACTURER_SPECIFIC_PROFILE_ID,
120                 DEVICE_TYPE: zha.DeviceType.SIMPLE_SENSOR,
121                 INPUT_CLUSTERS: [
122                     Basic.cluster_id,
123                     BinaryInput.cluster_id,
124                     PowerConfigurationCluster.cluster_id,
125                     Identify.cluster_id,
126                     DIAGNOSTICS_CLUSTER_ID,
127                     MANUFACTURER_SPECIFIC_CLUSTER_ID,
128                 ],
129                 OUTPUT_CLUSTERS: [Identify.cluster_id],
130             },
131         },
132     }
133 
134     replacement = CentraLiteIASSensor.replacement
135 
136 
137 class CentraLiteIASSensorV3(CustomDevice):
138     """Custom device representing centralite ias sensors."""
139 
140     signature = {
141         #  <SimpleDescriptor endpoint=1 profile=260 device_type=1026
142         #  device_version=0
143         #  input_clusters=[0, 1, 3, 32, 1026, 1280, 2821]
144         #  output_clusters=[25]>
145         MODELS_INFO: CentraLiteIASSensor.signature[MODELS_INFO],
146         ENDPOINTS: {
147             1: CentraLiteIASSensor.signature[ENDPOINTS][1],
148             #  <SimpleDescriptor endpoint=2 profile=49887 device_type=12
149             #  device_version=0
150             #  input_clusters=[0, 1, 3, 15, 2821]
151             #  output_clusters=[3]>
152             2: {
153                 PROFILE_ID: MANUFACTURER_SPECIFIC_PROFILE_ID,
154                 DEVICE_TYPE: zha.DeviceType.SIMPLE_SENSOR,
155                 INPUT_CLUSTERS: [
156                     Basic.cluster_id,
157                     BinaryInput.cluster_id,
158                     PowerConfigurationCluster.cluster_id,
159                     Identify.cluster_id,
160                     DIAGNOSTICS_CLUSTER_ID,
161                 ],
162                 OUTPUT_CLUSTERS: [Identify.cluster_id],
163             },
164         },
165     }
166 
167     replacement = CentraLiteIASSensor.replacement
168
```
--- END FILES ---

Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.

Here is an example:

```diff
diff --git a/examples/server_async.py b/examples/server_async.py
--- a/examples/server_async.py
+++ b/examples/server_async.py
@@ -313,4 +313,4 @@
 
 
 if __name__ == "__main__":
-    asyncio.run(run_async_server("."), debug=True)
+    asyncio.run(run_async_server(), debug=True)
diff --git a/examples/server_sync.py b/examples/server_sync.py
--- a/examples/server_sync.py
+++ b/examples/server_sync.py
@@ -313,5 +313,5 @@
 
 
 if __name__ == "__main__":
-    server = run_sync_server(".")
+    server = run_sync_server()
     server.shutdown()

```

diff --git a/zhaquirks/centralite/ias.py b/zhaquirks/centralite/ias.py
--- a/zhaquirks/centralite/ias.py
+++ b/zhaquirks/centralite/ias.py
@@ -38,6 +38,7 @@
             (CENTRALITE, "3315-Seu"),
             (CENTRALITE, "3315"),
             (CENTRALITE, "3320-L"),
+            (CENTRALITE, "Contact Sensor-A"),
         ],
         ENDPOINTS: {
             1: {

{"golden_diff": "diff --git a/zhaquirks/centralite/ias.py b/zhaquirks/centralite/ias.py\n--- a/zhaquirks/centralite/ias.py\n+++ b/zhaquirks/centralite/ias.py\n@@ -38,6 +38,7 @@\n             (CENTRALITE, \"3315-Seu\"),\n             (CENTRALITE, \"3315\"),\n             (CENTRALITE, \"3320-L\"),\n+            (CENTRALITE, \"Contact Sensor-A\"),\n         ],\n         ENDPOINTS: {\n             1: {\n", "issue": "[Device Support Request] CentraLite Contact Sensor-A\n**TL;DR**: The battery entity for the `CentraLite Contact Sensor-A` always reports `Unavailable`.  It's very similar in signature to the CentraLite 3320-L sensor, so I'm hoping it just needs a device-specific quirk.\r\n\r\n**Is your feature request related to a problem? Please describe.**\r\nI have some Sylvania SMART+ Door/Window sensors that are detected as `CentraLite Contact Sensor-A`.  They do not have a device-specific quirk; the ZHA Network Card reports them using zha.device.Device.\r\n\r\nThe open/close and temp entities currently work fine in HA, but the battery level entity always shows `Unavailable`.  There is battery information available in the UI via the entity: battery size is reported as `Other`, battery quantity is reported as `1` and battery voltage is reported as a float like `2.7` or `2.6`.\r\n\r\nI also have some other sensors that are very similar both in terms of device signature and physical attributes.  They are Lowes Iris Window/Door sensors and are detected as `Centralite 3320-L`.  These use the quirk zhaquirks.centralite.ias.CentraLiteIASSensor.\r\n\r\nThe only differences in the device signatures for these two devices (other than the detected model, of course) are: \r\n\r\n- The manufacturer_code entry in the node descriptor is different - I\u2019m assuming this is how the different device model is detected.\r\n- On the Contact Sensor-A Endpoint 2 has an extra in cluster with id 0x0001\r\n- The Contact Sensor-A uses the default Zigbee device quirk, but the 3320-L uses a CentraLite-specific one.\r\n\r\n\r\n\r\n**Describe the solution you'd like**\r\nI'd like for the battery entity in HA to show the remaining percentage, similar to the entities for all my other sensor batteries.\r\n\r\n**Device signature - this can be acquired by removing the device from ZHA and pairing it again from the add devices screen. Be sure to add the entire content of the log panel after pairing the device to a code block below this line.**\r\n\r\n```\r\n{\r\n  \"node_descriptor\": \"NodeDescriptor(byte1=2, byte2=64, mac_capability_flags=128, manufacturer_code=4174, maximum_buffer_size=82, maximum_incoming_transfer_size=82, server_mask=0, maximum_outgoing_transfer_size=82, descriptor_capability_field=0)\",\r\n  \"endpoints\": {\r\n    \"1\": {\r\n      \"profile_id\": 260,\r\n      \"device_type\": \"0x0402\",\r\n      \"in_clusters\": [\r\n        \"0x0000\",\r\n        \"0x0001\",\r\n        \"0x0003\",\r\n        \"0x0020\",\r\n        \"0x0402\",\r\n        \"0x0500\",\r\n        \"0x0b05\"\r\n      ],\r\n      \"out_clusters\": [\r\n        \"0x0019\"\r\n      ]\r\n    },\r\n    \"2\": {\r\n      \"profile_id\": 49887,\r\n      \"device_type\": \"0x000c\",\r\n      \"in_clusters\": [\r\n        \"0x0000\",\r\n        \"0x0001\",\r\n        \"0x0003\",\r\n        \"0x0b05\",\r\n        \"0xfc0f\"\r\n      ],\r\n      \"out_clusters\": [\r\n        \"0x0003\"\r\n      ]\r\n    }\r\n  },\r\n  \"manufacturer\": \"CentraLite\",\r\n  \"model\": \"Contact Sensor-A\",\r\n  \"class\": \"zigpy.device.Device\"\r\n}\r\n```\r\n\n", "before_files": [{"content": "\"\"\"Device handler for centralite ias sensors.\"\"\"\nfrom zigpy.profiles import zha\nfrom zigpy.quirks import CustomDevice\nfrom zigpy.zcl.clusters.general import Basic, BinaryInput, Identify, Ota, PollControl\nfrom zigpy.zcl.clusters.measurement import TemperatureMeasurement\nfrom zigpy.zcl.clusters.security import IasZone\n\nfrom zhaquirks import PowerConfigurationCluster\n\nfrom . import CENTRALITE\nfrom ..const import (\n    DEVICE_TYPE,\n    ENDPOINTS,\n    INPUT_CLUSTERS,\n    MODELS_INFO,\n    OUTPUT_CLUSTERS,\n    PROFILE_ID,\n)\n\nDIAGNOSTICS_CLUSTER_ID = 0x0B05  # decimal = 2821\nMANUFACTURER_SPECIFIC_CLUSTER_ID = 0xFC0F  # decimal = 64527\nMANUFACTURER_SPECIFIC_PROFILE_ID = 0xC2DF  # decimal = 49887\n\n\nclass CentraLiteIASSensor(CustomDevice):\n    \"\"\"Custom device representing centralite ias sensors.\"\"\"\n\n    signature = {\n        #  <SimpleDescriptor endpoint=1 profile=260 device_type=1026\n        #  device_version=0\n        #  input_clusters=[0, 1, 3, 32, 1026, 1280, 2821]\n        #  output_clusters=[25]>\n        MODELS_INFO: [\n            (CENTRALITE, \"3300-S\"),\n            (CENTRALITE, \"3315-G\"),\n            (CENTRALITE, \"3315-L\"),\n            (CENTRALITE, \"3315-S\"),\n            (CENTRALITE, \"3315-Seu\"),\n            (CENTRALITE, \"3315\"),\n            (CENTRALITE, \"3320-L\"),\n        ],\n        ENDPOINTS: {\n            1: {\n                PROFILE_ID: zha.PROFILE_ID,\n                DEVICE_TYPE: zha.DeviceType.IAS_ZONE,\n                INPUT_CLUSTERS: [\n                    Basic.cluster_id,\n                    PowerConfigurationCluster.cluster_id,\n                    Identify.cluster_id,\n                    PollControl.cluster_id,\n                    TemperatureMeasurement.cluster_id,\n                    IasZone.cluster_id,\n                    DIAGNOSTICS_CLUSTER_ID,\n                ],\n                OUTPUT_CLUSTERS: [Ota.cluster_id],\n            },\n            #  <SimpleDescriptor endpoint=2 profile=49887 device_type=12\n            #  device_version=0\n            #  input_clusters=[0, 1, 3, 2821, 64527]\n            #  output_clusters=[3]>\n            2: {\n                PROFILE_ID: MANUFACTURER_SPECIFIC_PROFILE_ID,\n                DEVICE_TYPE: zha.DeviceType.SIMPLE_SENSOR,\n                INPUT_CLUSTERS: [\n                    Basic.cluster_id,\n                    PowerConfigurationCluster.cluster_id,\n                    Identify.cluster_id,\n                    DIAGNOSTICS_CLUSTER_ID,\n                    MANUFACTURER_SPECIFIC_CLUSTER_ID,\n                ],\n                OUTPUT_CLUSTERS: [Identify.cluster_id],\n            },\n        },\n    }\n\n    replacement = {\n        ENDPOINTS: {\n            1: {\n                INPUT_CLUSTERS: [\n                    Basic.cluster_id,\n                    PowerConfigurationCluster,\n                    Identify.cluster_id,\n                    PollControl.cluster_id,\n                    TemperatureMeasurement.cluster_id,\n                    IasZone.cluster_id,\n                    DIAGNOSTICS_CLUSTER_ID,\n                ],\n                OUTPUT_CLUSTERS: [Ota.cluster_id],\n            },\n            2: {\n                INPUT_CLUSTERS: [\n                    Basic.cluster_id,\n                    Identify.cluster_id,\n                    DIAGNOSTICS_CLUSTER_ID,\n                    MANUFACTURER_SPECIFIC_CLUSTER_ID,\n                ],\n                OUTPUT_CLUSTERS: [Identify.cluster_id],\n            },\n        }\n    }\n\n\nclass CentraLiteIASSensorV2(CustomDevice):\n    \"\"\"Custom device representing centralite ias sensors.\"\"\"\n\n    signature = {\n        #  <SimpleDescriptor endpoint=1 profile=260 device_type=1026\n        #  device_version=0\n        #  input_clusters=[0, 1, 3, 32, 1026, 1280, 2821]\n        #  output_clusters=[25]>\n        MODELS_INFO: CentraLiteIASSensor.signature[MODELS_INFO],\n        ENDPOINTS: {\n            1: CentraLiteIASSensor.signature[ENDPOINTS][1],\n            #  <SimpleDescriptor endpoint=2 profile=49887 device_type=12\n            #  device_version=0\n            #  input_clusters=[0, 1, 3, 15, 2821, 64527]\n            #  output_clusters=[3]>\n            2: {\n                PROFILE_ID: MANUFACTURER_SPECIFIC_PROFILE_ID,\n                DEVICE_TYPE: zha.DeviceType.SIMPLE_SENSOR,\n                INPUT_CLUSTERS: [\n                    Basic.cluster_id,\n                    BinaryInput.cluster_id,\n                    PowerConfigurationCluster.cluster_id,\n                    Identify.cluster_id,\n                    DIAGNOSTICS_CLUSTER_ID,\n                    MANUFACTURER_SPECIFIC_CLUSTER_ID,\n                ],\n                OUTPUT_CLUSTERS: [Identify.cluster_id],\n            },\n        },\n    }\n\n    replacement = CentraLiteIASSensor.replacement\n\n\nclass CentraLiteIASSensorV3(CustomDevice):\n    \"\"\"Custom device representing centralite ias sensors.\"\"\"\n\n    signature = {\n        #  <SimpleDescriptor endpoint=1 profile=260 device_type=1026\n        #  device_version=0\n        #  input_clusters=[0, 1, 3, 32, 1026, 1280, 2821]\n        #  output_clusters=[25]>\n        MODELS_INFO: CentraLiteIASSensor.signature[MODELS_INFO],\n        ENDPOINTS: {\n            1: CentraLiteIASSensor.signature[ENDPOINTS][1],\n            #  <SimpleDescriptor endpoint=2 profile=49887 device_type=12\n            #  device_version=0\n            #  input_clusters=[0, 1, 3, 15, 2821]\n            #  output_clusters=[3]>\n            2: {\n                PROFILE_ID: MANUFACTURER_SPECIFIC_PROFILE_ID,\n                DEVICE_TYPE: zha.DeviceType.SIMPLE_SENSOR,\n                INPUT_CLUSTERS: [\n                    Basic.cluster_id,\n                    BinaryInput.cluster_id,\n                    PowerConfigurationCluster.cluster_id,\n                    Identify.cluster_id,\n                    DIAGNOSTICS_CLUSTER_ID,\n                ],\n                OUTPUT_CLUSTERS: [Identify.cluster_id],\n            },\n        },\n    }\n\n    replacement = CentraLiteIASSensor.replacement\n", "path": "zhaquirks/centralite/ias.py"}], "after_files": [{"content": "\"\"\"Device handler for centralite ias sensors.\"\"\"\nfrom zigpy.profiles import zha\nfrom zigpy.quirks import CustomDevice\nfrom zigpy.zcl.clusters.general import Basic, BinaryInput, Identify, Ota, PollControl\nfrom zigpy.zcl.clusters.measurement import TemperatureMeasurement\nfrom zigpy.zcl.clusters.security import IasZone\n\nfrom zhaquirks import PowerConfigurationCluster\n\nfrom . import CENTRALITE\nfrom ..const import (\n    DEVICE_TYPE,\n    ENDPOINTS,\n    INPUT_CLUSTERS,\n    MODELS_INFO,\n    OUTPUT_CLUSTERS,\n    PROFILE_ID,\n)\n\nDIAGNOSTICS_CLUSTER_ID = 0x0B05  # decimal = 2821\nMANUFACTURER_SPECIFIC_CLUSTER_ID = 0xFC0F  # decimal = 64527\nMANUFACTURER_SPECIFIC_PROFILE_ID = 0xC2DF  # decimal = 49887\n\n\nclass CentraLiteIASSensor(CustomDevice):\n    \"\"\"Custom device representing centralite ias sensors.\"\"\"\n\n    signature = {\n        #  <SimpleDescriptor endpoint=1 profile=260 device_type=1026\n        #  device_version=0\n        #  input_clusters=[0, 1, 3, 32, 1026, 1280, 2821]\n        #  output_clusters=[25]>\n        MODELS_INFO: [\n            (CENTRALITE, \"3300-S\"),\n            (CENTRALITE, \"3315-G\"),\n            (CENTRALITE, \"3315-L\"),\n            (CENTRALITE, \"3315-S\"),\n            (CENTRALITE, \"3315-Seu\"),\n            (CENTRALITE, \"3315\"),\n            (CENTRALITE, \"3320-L\"),\n            (CENTRALITE, \"Contact Sensor-A\"),\n        ],\n        ENDPOINTS: {\n            1: {\n                PROFILE_ID: zha.PROFILE_ID,\n                DEVICE_TYPE: zha.DeviceType.IAS_ZONE,\n                INPUT_CLUSTERS: [\n                    Basic.cluster_id,\n                    PowerConfigurationCluster.cluster_id,\n                    Identify.cluster_id,\n                    PollControl.cluster_id,\n                    TemperatureMeasurement.cluster_id,\n                    IasZone.cluster_id,\n                    DIAGNOSTICS_CLUSTER_ID,\n                ],\n                OUTPUT_CLUSTERS: [Ota.cluster_id],\n            },\n            #  <SimpleDescriptor endpoint=2 profile=49887 device_type=12\n            #  device_version=0\n            #  input_clusters=[0, 1, 3, 2821, 64527]\n            #  output_clusters=[3]>\n            2: {\n                PROFILE_ID: MANUFACTURER_SPECIFIC_PROFILE_ID,\n                DEVICE_TYPE: zha.DeviceType.SIMPLE_SENSOR,\n                INPUT_CLUSTERS: [\n                    Basic.cluster_id,\n                    PowerConfigurationCluster.cluster_id,\n                    Identify.cluster_id,\n                    DIAGNOSTICS_CLUSTER_ID,\n                    MANUFACTURER_SPECIFIC_CLUSTER_ID,\n                ],\n                OUTPUT_CLUSTERS: [Identify.cluster_id],\n            },\n        },\n    }\n\n    replacement = {\n        ENDPOINTS: {\n            1: {\n                INPUT_CLUSTERS: [\n                    Basic.cluster_id,\n                    PowerConfigurationCluster,\n                    Identify.cluster_id,\n                    PollControl.cluster_id,\n                    TemperatureMeasurement.cluster_id,\n                    IasZone.cluster_id,\n                    DIAGNOSTICS_CLUSTER_ID,\n                ],\n                OUTPUT_CLUSTERS: [Ota.cluster_id],\n            },\n            2: {\n                INPUT_CLUSTERS: [\n                    Basic.cluster_id,\n                    Identify.cluster_id,\n                    DIAGNOSTICS_CLUSTER_ID,\n                    MANUFACTURER_SPECIFIC_CLUSTER_ID,\n                ],\n                OUTPUT_CLUSTERS: [Identify.cluster_id],\n            },\n        }\n    }\n\n\nclass CentraLiteIASSensorV2(CustomDevice):\n    \"\"\"Custom device representing centralite ias sensors.\"\"\"\n\n    signature = {\n        #  <SimpleDescriptor endpoint=1 profile=260 device_type=1026\n        #  device_version=0\n        #  input_clusters=[0, 1, 3, 32, 1026, 1280, 2821]\n        #  output_clusters=[25]>\n        MODELS_INFO: CentraLiteIASSensor.signature[MODELS_INFO],\n        ENDPOINTS: {\n            1: CentraLiteIASSensor.signature[ENDPOINTS][1],\n            #  <SimpleDescriptor endpoint=2 profile=49887 device_type=12\n            #  device_version=0\n            #  input_clusters=[0, 1, 3, 15, 2821, 64527]\n            #  output_clusters=[3]>\n            2: {\n                PROFILE_ID: MANUFACTURER_SPECIFIC_PROFILE_ID,\n                DEVICE_TYPE: zha.DeviceType.SIMPLE_SENSOR,\n                INPUT_CLUSTERS: [\n                    Basic.cluster_id,\n                    BinaryInput.cluster_id,\n                    PowerConfigurationCluster.cluster_id,\n                    Identify.cluster_id,\n                    DIAGNOSTICS_CLUSTER_ID,\n                    MANUFACTURER_SPECIFIC_CLUSTER_ID,\n                ],\n                OUTPUT_CLUSTERS: [Identify.cluster_id],\n            },\n        },\n    }\n\n    replacement = CentraLiteIASSensor.replacement\n\n\nclass CentraLiteIASSensorV3(CustomDevice):\n    \"\"\"Custom device representing centralite ias sensors.\"\"\"\n\n    signature = {\n        #  <SimpleDescriptor endpoint=1 profile=260 device_type=1026\n        #  device_version=0\n        #  input_clusters=[0, 1, 3, 32, 1026, 1280, 2821]\n        #  output_clusters=[25]>\n        MODELS_INFO: CentraLiteIASSensor.signature[MODELS_INFO],\n        ENDPOINTS: {\n            1: CentraLiteIASSensor.signature[ENDPOINTS][1],\n            #  <SimpleDescriptor endpoint=2 profile=49887 device_type=12\n            #  device_version=0\n            #  input_clusters=[0, 1, 3, 15, 2821]\n            #  output_clusters=[3]>\n            2: {\n                PROFILE_ID: MANUFACTURER_SPECIFIC_PROFILE_ID,\n                DEVICE_TYPE: zha.DeviceType.SIMPLE_SENSOR,\n                INPUT_CLUSTERS: [\n                    Basic.cluster_id,\n                    BinaryInput.cluster_id,\n                    PowerConfigurationCluster.cluster_id,\n                    Identify.cluster_id,\n                    DIAGNOSTICS_CLUSTER_ID,\n                ],\n                OUTPUT_CLUSTERS: [Identify.cluster_id],\n            },\n        },\n    }\n\n    replacement = CentraLiteIASSensor.replacement\n", "path": "zhaquirks/centralite/ias.py"}]}